Re: Updated rusage patch
- From: Bruce Evans <brde@xxxxxxxxxxxxxxx>
- Date: Fri, 1 Jun 2007 20:18:44 +1000 (EST)
On Fri, 1 Jun 2007, Jeff Roberson wrote:
On Fri, 1 Jun 2007, Bruce Evans wrote:
Well, I think the whole exit/wait path could probably use some attention. There is an incredible amount of locking and unlocking to deal with various races and lock order issues. And there are many subtle effects which aren't immediately obvious. I'm nervous about how many bugs might be caused if we start going down this path so close to 7.0.
I'm afraid to look too closely :-).
[See other replies for large modifications to this]Related bugs:
- td_[usip]ticks are still under (j) (sched_lock) in proc.h.
- td_(uu,us}ticks have always (?) been under (k) (thread-local). That
is more correct than (j), but they are updated by an interrupt handler
and seem to be accessed without disabling interrupts elsewhere.
Well td_[uisp]ticks are set and cleared while the sched_lock is held. In threadlock.diff the thread lock is responsible for this. That reminds me that I didn't add the per-thread locking to rufetch() in the patch I posted earlier.
But the ticks fields aren't aren't under sched_lock in the patches or
committed version. The could easily be under time_lock, but were
carefully pushed out of that too in the time_lock changes. Per-thread
locking in statclock() and rufetch() could fix this but would give more
locking overhead in statclock().
Bruce
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: Updated rusage patch
- From: Jeff Roberson
- Re: Updated rusage patch
- References:
- Re: Updated rusage patch
- From: Bruce Evans
- Re: Updated rusage patch
- From: Jeff Roberson
- Re: Updated rusage patch
- Prev by Date: Re: Updated rusage patch
- Next by Date: Re: Last chance for threadlock review.
- Previous by thread: Re: Updated rusage patch
- Next by thread: Re: Updated rusage patch
- Index(es):