All of lore.kernel.org
 help / color / mirror / Atom feed
From: Waiman Long <waiman.long@hpe.com>
To: Jason Low <jason.low2@hp.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	<linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Ding Tianhong <dingtianhong@huawei.com>,
	Jason Low <jason.low2@hpe.com>,
	Davidlohr Bueso <dave@stgolabs.net>,
	"Paul E. McKenney" <paulmck@us.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <Will.Deacon@arm.com>,
	Tim Chen <tim.c.chen@linux.intel.com>
Subject: Re: [PATCH 0/2] locking/mutex: Enable optimistic spinning of lock waiter
Date: Fri, 12 Feb 2016 12:22:10 -0500	[thread overview]
Message-ID: <56BE14C2.5080603@hpe.com> (raw)
In-Reply-To: <1455054274.2976.31.camel@j-VirtualBox>

On 02/09/2016 04:44 PM, Jason Low wrote:
> On Tue, 2016-02-09 at 14:47 -0500, Waiman Long wrote:
>> This patchset is a variant of PeterZ's "locking/mutex: Avoid spinner
>> vs waiter starvation" patch. The major difference is that the
>> waiter-spinner won't enter into the OSQ used by the spinners. Instead,
>> it will spin directly on the lock in parallel with the queue head
>> of the OSQ. So there will be a bit more cacheline contention on the
>> lock cacheline, but that shouldn't cause noticeable impact on system
>> performance.
>>
>> This patchset tries to address 2 issues with Peter's patch:
>>
>>   1) Ding Tianhong still find that hanging task could happen in some cases.
>>   2) Jason Low found that there was performance regression for some AIM7
>>      workloads.
> This might help address the hang that Ding reported.
>
> Performance wise, this patchset reduced AIM7 fserver throughput on the 8
> socket machine by -70%+ at 1000+ users.
>
>                  | fserver JPM
> -----------------------------
> baseline	| ~450000
> Peter's patch	| ~410000
> This patchset	| ~100000
>
> My guess is that waiters spinning/acquiring the lock is less efficient,
> and this patchset further increases the chance for waiters to
> spin/acquire the lock over the fastpath optimistic spinners.
>
> Jason
>

That was just a configuration error as the CPU scaling governor wasn't 
set to performance. With the performance scaling governor, the 
patchset's performance was comparable to Peter's patch.

Cheers,
Longman

      reply	other threads:[~2016-02-12 17:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-09 19:47 [PATCH 0/2] locking/mutex: Enable optimistic spinning of lock waiter Waiman Long
2016-02-09 19:47 ` [PATCH 1/2] locking/mutex: Add waiter parameter to mutex_optimistic_spin() Waiman Long
2016-02-09 19:47 ` [PATCH 2/2] locking/mutex: Enable optimistic spinning of woken task in wait queue Waiman Long
2016-02-09 21:44 ` [PATCH 0/2] locking/mutex: Enable optimistic spinning of lock waiter Jason Low
2016-02-12 17:22   ` Waiman Long [this message]

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=56BE14C2.5080603@hpe.com \
    --to=waiman.long@hpe.com \
    --cc=Will.Deacon@arm.com \
    --cc=dave@stgolabs.net \
    --cc=dingtianhong@huawei.com \
    --cc=jason.low2@hp.com \
    --cc=jason.low2@hpe.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=paulmck@us.ibm.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --cc=torvalds@linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.