Re: [PATCH RFC ticketlock] Auto-queued ticketlock

From: Paul E. McKenney
Date: Tue Jun 11 2013 - 06:14:15 EST


On Tue, Jun 11, 2013 at 03:53:17PM +0800, Lai Jiangshan wrote:
> On 06/11/2013 08:51 AM, Linus Torvalds wrote:
> > On Mon, Jun 10, 2013 at 5:44 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >>
> >> OK, I haven't found a issue here yet, but youss are beiing trickssy! We
> >> don't like trickssy, and we must find precccciouss!!!
> >
> > .. and I personally have my usual reservations. I absolutely hate
> > papering over scalability issues, and historically whenever people
> > have ever thought that we want complex spinlocks, the problem has
> > always been that the locking sucks.
> >
> > So reinforced by previous events, I really feel that code that needs
> > this kind of spinlock is broken and needs to be fixed, rather than
> > actually introduce tricky spinlocks.
> >
> > So in order to merge something like this, I want (a) numbers for real
> > loads and (b) explanations for why the spinlock users cannot be fixed.
> >
> > Because "we might hit loads" is just not good enough. I would counter
> > with "hiding problems causes more of them".
> >
>
> Hi, all
>
> Off-topic, although I am in this community for several years,
> I am not exactly clear with this problem.
>
> 1) In general case, which lock is the most competitive in the kernel? what it protects for?
> 2) In which special case, which lock is the most competitive in the kernel? what it protects for?
> 3) In general case, which list is the most hot list?
> 4) In which special case, which list is the most hot list?

Others would know better than I, but mmap_sem has been called out as a
prime offender for some workloads. There is of course some debate as
to whether the fault lies mmap_sem or with the workloads. There have
been some efforts to solve this one on LKML, plus some in academia have
worked on this as well:

http://people.csail.mit.edu/nickolai/papers/clements-bonsai.pdf
http://pdos.csail.mit.edu/papers/radixvm:eurosys13.pdf

And IIRC this was the subject of a session at a recent minisummit.

There are a few locks within the RCU implementation that have popped
up from time to time on very large systems, but I have dealt with those
and have plans for each should it become a problem. The plans probably
won't survive first contact with a real workload, but having thought
things through is very helpful.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/