DragonFly kernel List (threaded) for 2004-01
Re: systimer01.patch available for review.
:On 28.01.2004, at 07:33, Matthew Dillon wrote:
:> We could make a concerted effort to fix the bad inline assembly
:> we have in the kernel to make -O3 and friends work properly under
:count me in. What's `bad' inline assembly so that we can find it?
I didn't say it would be easy! The problem is it is difficult to
*find* it, but for example the IP checksum code has been known
to brainfart at higher optimization levels for years. And
we aren't just talking about bad inline assembly... there's some
bad C code in there too.
Broken assembly is typically __asm() code that fails to properly
specify register state (what's being read, written, modified, and
blown away). Broken C tends to be C code that uses unions to load
elements of one type, and then read elements of another type
overlayed on the first set of elements via the union. Or something