Re: [RFC 1/6] Framework

From: Nick Piggin
Date: Mon Dec 12 2005 - 02:06:11 EST


Andi Kleen wrote:

Then you can't use __local_xxx, and so many architectures will use
atomic instructions (the ones who don't are the ones with tripled
cacheline footprint of this structure).


They are wrong then. atomic instructions is the wrong implementation
and they would be better off with asm-generic.


Yes I mean atomic and per-cpu. Same as asm-generic.

If anything they should use per_cpu counters for interrupts and use seq locks.

How would seqlocks help?

Or just turn off the interrupts for a short time
in the low level code.


This is exactly what mod_page_state does, which is what my patches
eliminate. For a small but significant performance improvement.


Sure i386 and x86-64 are happy, but this would probably slow down
most other architectures.


I think it is better to fix the other architectures then - if they
are really using a full scale bus lock for this they're just wrong.

I don't think it is a good idea to do a large change in generic
code just for dumb low level code.


It is not a large change at all, just some shuffling of mod_page_state
and friends to go under pre-existing interrupts-off sections.

--
SUSE Labs, Novell Inc.

Send instant messages to your online friends http://au.messenger.yahoo.com -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/