From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org, Kevin Hao <haokexin@gmail.com>,
Sam Bobroff <sam.bobroff@au1.ibm.com>,
Paul Mackerras <paulus@samba.org>
Subject: Re: [RFC] powerpc: use ticket spin lock for !CONFIG_PPC_SPLPAR
Date: Fri, 13 Mar 2015 18:14:48 +1100 [thread overview]
Message-ID: <1426230888.17565.164.camel@kernel.crashing.org> (raw)
In-Reply-To: <1426230541.23806.5.camel@ellerman.id.au>
On Fri, 2015-03-13 at 18:09 +1100, Michael Ellerman wrote:
> On Thu, 2015-03-12 at 22:13 +1100, Benjamin Herrenschmidt wrote:
> > On Thu, 2015-03-12 at 18:55 +0800, Kevin Hao wrote:
> > > I know Torsten Duwe has tried to add the ticket spinlock for powerpc
> > > one year ago [1]. But it make no progress due to the conflict between
> > > PPC_SPLPAR and lockref. We still don't find a better way to handle
> > > this. But instead of waiting forever for a perfect solution, can't we
> > > just use the ticket spinlock for the !CONFIG_PPC_SPLPAR?
> > >
> > > This is a very rough patch based on arm64 codes. I want to make sure
> > > that this is acceptable before going step further. This just passed
> > > build and boot test on a fsl t4240rdb board. I have done a simple
> > > performance benchmark by running the following command ten times before
> > > and after applying this patch:
> > > ./perf bench sched messaging
> > >
> > > Before After
> > > Averaged total time [sec]: 0.403 0.367
> > >
> > > So we can see a ~9% performance enhancing. This patch depends on this
> > > one [2].
> >
> > I would do the ifdef'ing differently, something like
> >
> > CONFIG_PPC_HAS_LOCK_OWNER
> >
> > CONFIG_PPC_TICKET_LOCKS depends on !PPC_HAS_LOCK_OWNER
> >
> > and use these two in the code... with SPLPAR select'ing HAS_LOCK_OWNER
>
>
> Sam was doing some work looking at CONFER, and I think so far he hasn't found
> that it is much of a benefit. Hopefully he can chime in with his observations.
>
> So the question is, should we just drop the directed CONFER and switch
> wholesale to ticket locks?
>
> We can still do CONFER on SPLPAR, we just tell the hypervisor we don't know who
> to confer to.
>
> There is still the drawback that we loose the lock owner for debugging, but
> that might be worth it. And I think you can get it back with appropriate debug
> options?
Another possibility would be to change the order of the count and the
lock in lockref and defined it to be packed. That might allow us to have
our lock contain the ticket first and the count next and "fit" ...
> cheers
>
next prev parent reply other threads:[~2015-03-13 7:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-12 10:55 [RFC] powerpc: use ticket spin lock for !CONFIG_PPC_SPLPAR Kevin Hao
2015-03-12 11:13 ` Benjamin Herrenschmidt
2015-03-12 15:24 ` Torsten Duwe
2015-03-13 6:09 ` Kevin Hao
2015-03-13 7:07 ` Benjamin Herrenschmidt
2015-03-13 5:59 ` Kevin Hao
2015-03-13 7:09 ` Michael Ellerman
2015-03-13 7:14 ` Benjamin Herrenschmidt [this message]
2015-03-16 0:25 ` Sam Bobroff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1426230888.17565.164.camel@kernel.crashing.org \
--to=benh@kernel.crashing.org \
--cc=haokexin@gmail.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=sam.bobroff@au1.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).