Re: [PATCH v5 1/6] qspinlock: powerpc support qspinlock
From: Benjamin Herrenschmidt
Date: Fri Jun 03 2016 - 00:35:27 EST
On Fri, 2016-06-03 at 12:10 +0800, xinhui wrote:
> On 2016å06æ03æ 09:32, Benjamin Herrenschmidt wrote:
> > On Fri, 2016-06-03 at 11:32 +1000, Benjamin Herrenschmidt wrote:
> >> On Thu, 2016-06-02 at 17:22 +0800, Pan Xinhui wrote:
> >>> Base code to enable qspinlock on powerpc. this patch add some
> >>> #ifdef
> >>> here and there. Although there is no paravirt related code, we
> >>> successfully build a qspinlock kernel after apply this patch.
> >> This is missing the IO_SYNC stuff ... It means we'll fail to do a
> >> full
> >> sync to order vs MMIOs.
> >> You need to add that back in the unlock path.
> > Well, and in the lock path as well...
> Oh, yes. I missed IO_SYNC stuff.
> thank you, Ben :)
Ok couple of other things that would be nice from my perspective (and
Michael's) if you can produce them:
Â- Some benchmarks of the qspinlock alone, without the PV stuff,
Â Âso we understand how much of the overhead is inherent to the
Â Âqspinlock and how much is introduced by the PV bits.
Â- For the above, can you show (or describe) where the qspinlock
Â Âimproves things compared to our current locks. While there's
Â Âtheory and to some extent practice on x86, it would be nice to
Â Âvalidate the effects on POWER.
Â- Comparative benchmark with the PV stuff in on a bare metal system
Â Âto understand the overhead there.
Â- Comparative benchmark with the PV stuff under pHyp and KVM
Spinlocks are fiddly and a critical piece of infrastructure, it's
important we fully understand the performance implications before we
decide to switch to a new model.