Re: [RFC] callout overhaul: part I
- From: "Attilio Rao" <attilio@xxxxxxxxxxx>
- Date: Tue, 13 Nov 2007 20:17:57 +0100
2007/11/8, Attilio Rao <attilio@xxxxxxxxxxx>:
Hello,
Some benchmarks posted by rwatson some time ago (
http://lists.freebsd.org/pipermail/freebsd-arch/2007-October/006945.html
) evicted callout_lock spinlock as an highly contented lock, in
particular for network paths. Honestly, this is not a surprise at all
:). This moved me in the direction of working on callouts, mainly for
improving the scalability respect a large number of CPUs but, since
callout are rather sensitive for the whole system, a general overhaul
to the whole mecanism would be a good idea.
In particular, I found phk's ideas about it (
http://lists.freebsd.org/pipermail/freebsd-arch/2006-November/005730.html
) very valuable and I have on-going discussions with him and rwatson
about these.
phk's proposal is however not complete at 100% and I'm trying to
integrate with other missing supports.
This patch, for example:
http://people.freebsd.org/~attilio/callout_rwlock.diff
I modified a little bit this patch in order to make stuff saner.
In particular, I introduced lock assertions in callout_stop(). So now,
when necessary, callout_stop() will panic if the lock is not held
while running over it.
The only one thing I really don't like is that I had to use the
"bogus" cast lock_object -> lock primitive (really, alredy used in
debugging functions). We should find a better solution about it as it
gets as constraints to have lock_object field as the first member of
any locking primitive.
New patch:
http://people.freebsd.org/~attilio/callout_rwlock2.diff
Thanks,
Attilio
--
Peace can only be achieved by understanding - A. Einstein
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- References:
- [RFC] callout overhaul: part I
- From: Attilio Rao
- [RFC] callout overhaul: part I
- Prev by Date: Re: monolithic
- Next by Date: Re: sensors framework continued (architecture)
- Previous by thread: Re: [RFC] callout overhaul: part I
- Next by thread: sensors framework continued (architecture)
- Index(es):
Relevant Pages
|
|