Messages in this thread | | | Date | Wed, 7 Jan 2009 15:15:48 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [PATCH -v5][RFC]: mutex: implement adaptive spinning |
| |
On Wed, 7 Jan 2009, Gregory Haskins wrote: > > Can I ask a simple question in light of all this discussion? > > "Is get_task_struct() really that bad?"
Yes. It's an atomic access (two, in fact, since you need to release it too), which is a huge deal if we're talking about a timing-critical section of code.
And this is timing-critical, or we wouldn't even care - even in the contention case. Admittedly btrfs apparently makes it more so that it _should_ be, but Peter had some timings that happened with just regular create/unlink that showed a big difference.
So the whole and only point of spinning mutexes is to get rid of the scheduler overhead, but to also not replace it with some other thing ;)
Linus
| |