* Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html