Messages in this thread | | | Date | Tue, 11 Mar 2014 11:45:03 +0100 | From | Ingo Molnar <> | Subject | Re: [RFC][PATCH 0/7] locking: qspinlock |
| |
* Peter Zijlstra <peterz@infradead.org> wrote:
> Hi Waiman, > > I promised you this series a number of days ago; sorry for the delay > I've been somewhat unwell :/ > > That said, these few patches start with a (hopefully) simple and > correct form of the queue spinlock, and then gradually build upon > it, explaining each optimization as we go. > > Having these optimizations as separate patches helps twofold; > firstly it makes one aware of which exact optimizations were done, > and secondly it allows one to proove or disprove any one step; > seeing how they should be mostly identity transforms. > > The resulting code is near to what you posted I think; however it > has one atomic op less in the pending wait-acquire case for NR_CPUS > != huge. It also doesn't do lock stealing; its still perfectly fair > afaict. > > Have I missed any tricks from your code?
Waiman, you indicated in the other thread that these look good to you, right? If so then I can queue them up so that they form a base for further work.
It would be nice to have per patch performance measurements though ... this split-up structure really enables that rather nicely.
Thanks,
Ingo
| |