Messages in this thread | | | Date | Sat, 23 Feb 2008 08:32:11 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH [RT] 08/14] add a loop counter based timeout mechanism |
| |
On Sat, Feb 23, 2008 at 01:31:00PM +0100, Andi Kleen wrote: > > *) compute the context-switch pair time average for the system. This is > > your time threshold (CSt). > > This is not a uniform time. Consider the difference between > context switch on the same hyperthread, context switch between cores > on a die, context switch between sockets, context switch between > distant numa nodes. You could have several orders of magnitude > between all those.
Wouldn't the common case for blocking on a lock with a short hold time be the minimal context-switch pair on the same CPU?
> > *) For each lock, maintain an average hold-time (AHt) statistic (I am > > assuming this can be done cheaply...perhaps not). > > That would assume that the hold times are very uniform. But what happens > when you e.g. have a workload where 50% of the lock aquisitions are short > and 30% are long? > > I'm a little sceptical of such "too clever" algorithms.
Me too. That said, I cannot resist pointing out that the measurement of interest would be the fraction of lock-hold times that are shorter than the context-switch time. ;-)
Thanx, Paul
| |