Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Rick Jones
Yes the wakeup happens deep inside the critical section and if the process is running on another CPU it could race to the lock. Hmm, i suppose the wakeup could be moved out, but it would need some restructuring of the code. Also to be safe the code would still need to at least hold a reference

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Andi Kleen
> Perhaps a poor choice of words on my part - something along the lines of: > > hold_lock(); > wake_up_someone(); > release_lock(); > > where the someone being awoken can try to grab the lock before the path > doing the waking manages to release it. Yes the wakeup happens deep inside the criti

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Rick Jones
Andi Kleen wrote: The meta question behind all that would seem to be whether the scheduler should be telling us where to perform the network processing, or should the network processing be telling the scheduler what to do? (eg all my old blathering about IPS vs TOPS in HP-UX...) That's an un

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Andi Kleen
> > The meta question behind all that would seem to be whether the scheduler > should be telling us where to perform the network processing, or should > the network processing be telling the scheduler what to do? (eg all my > old blathering about IPS vs TOPS in HP-UX...) That's an unsolved pr

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Rick Jones
Andi Kleen wrote: Rick Jones <[EMAIL PROTECTED]> writes: Still, does this look like something worth persuing? In a past life/OS when one was able to eliminate one percentage point of spinlock contention, two percentage points of improvement ensued. The stack is really designed to go fast wi

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Andi Kleen
Rick Jones <[EMAIL PROTECTED]> writes: > > Still, does this look like something worth persuing? In a past > life/OS when one was able to eliminate one percentage point of > spinlock contention, two percentage points of improvement ensued. The stack is really designed to go fast with per CPU loca

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Rick Jones
SPINLOCKS HOLDWAIT UTIL CONMEAN( MAX ) MEAN( MAX )(% CPU) TOTAL NOWAIT SPIN RJECT NAME 7.4% 2.8% 0.1us( 143us) 3.3us( 147us)( 1.4%) 75262432 97.2% 2.8% 0% lock_sock_nested+0x30 29.5% 6.6% 0.5us( 148us) 0.9us( 143us)(0.49%) 37622512 93.4% 6.

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-02 Thread Jesse Brandeburg
On 2/1/07, Rick Jones <[EMAIL PROTECTED]> wrote: With some help from Lee Schermerhorn and Alan Brunelle I got a lockmeter kernel going, and it is suggesting that the greatest spinlock contention comes from the routines: SPINLOCKS HOLDWAIT UTIL CONMEAN( MAX ) MEAN(

Re: "meaningful" spinlock contention when bound to non-intr CPU?

2007-02-01 Thread Rick Jones
Rick Jones wrote: A 2.6.10-rc5 kernel onto each system thanks to pointers from Dan Frazier. gaak - 2.6.20-rc5 that is. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.

"meaningful" spinlock contention when bound to non-intr CPU?

2007-02-01 Thread Rick Jones
For various nefarious porpoises relating to comparing and contrasting a single 10G NIC with N 1G ports and hopefully finding interesting processor cache (mis)behaviour in the stack, I got my hands on a pair of 8 core systems with plenty of RAM and I/O slots. (rx6600 with 1.6 GHz dual-core Itan