On Friday 02 June 2006 18:56, Nick Piggin wrote:
> Chen, Kenneth W wrote:
> > Ha, you beat me by one minute. It did cross my mind to use try lock there
> > as well, take a look at my version, I think I have a better inner loop.
>
> Actually you *have* to use trylocks I think, because the current runqueue
> is already locked.
>
> And why do we lock all siblings in the other case, for that matter? (not
> that it makes much difference except on niagara today).
If we spinlock (and don't trylock as you're proposing) we'd have to do a
double rq lock for each sibling. I guess half the time double_rq_lock will
only be locking one runqueue... with 32 runqueues we either try to lock all
32 or lock 1.5 runqueues 32 times... ugh both are ugly.
> Rolled up patch with everyone's changes attached.
I'm still not sure that only doing trylock is adequate, and
wake_sleeping_dependent is only called when a runqueue falls idle in
schedule, not when it's busy so its cost (in my mind) is far less than
dependent_sleeper.
--
-ck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]