> The inline code you want is something like
>
> in_irq ?
^^^^^^
This one is the problem. asm/string.h gets included in the
common code long before task_struct is defined. I haven't
found a clean and local way to fix that.
> jmp #1
> len < 256
> jmp #1
> jmp out_of_line_copy
> #1
> [existing x86 rep based copy]
>
Yes, this is the present code, aside from 512-->256.
How about moving the in_interrupt() test into
out_of_line_copy? The objection is that that's the case
where you really want it fast.
AMD says 3DNow PREFETCH is ok in interrupts, so is that test
even necessary? It might be worthwhile to issue a prefetch
before doing anything else, unless there are lots of really
short copys done.
Testing is difficult until it builds.
Tom
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/