Messages in this thread | | | Subject | Re: [RFC PATCH 0/5] futex: introduce an optimistic spinning futex | From | Mike Galbraith <> | Date | Tue, 22 Jul 2014 04:31:14 +0200 |
| |
On Mon, 2014-07-21 at 21:34 -0400, Steven Rostedt wrote:
> I was telling Robert that if futexes get optimistic spinning, he should > reconsider their use of userspace spinlocks in favor of this, because > I'm pretty sure that they will see a great improvement.
My (dated) experience with pgsql says you're likely right.
Once upon a time, preempting a userspace spinlock owner caused pgsql to collapse into a quivering heap. The scheduler trying to hand the CPU back to a preempted task instead of selecting what was strictly speaking the most deserving task afterward (LAST_BUDDY) let pgsql+oltp scale nice and flat instead of self destructing, but the root cause of collapse was spinners lacking knowledge. With spin done in kernel, you can know when spinning is a waste of perfectly good cycles.
-Mike
| |