David S. Miller wrote:
Oh yeah? What are your numbers like if you just disable the ia64
kernel unaligned access printk()?
it's definitely not the printk. They have that throttled so it only prints once
for a large number of occurances.
The problem is that on the Altix platform they have to deal with unaligned
accesses via an exception handler. This causes them to run through hundreds of
instructions. There's evidntally another mechanism in the cpu that's more
efficient in daling with unaligned accesses, but we can't use that for some
reason (atomicity I think, but I don't recall).
This extra memcpy when the buffer is not unaligned currently only impacts 5701
(since it's the only chip for which the 2 byte pad is omitted) although the
alignment issue would bite us no matter what the chip if the 2 byte pad is omitted.
"Give a man a fish, and he will eat for a day, hit him with a fish and
he leaves you alone" - me