From: Waiman Long <waiman.long@hpe.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
<linux-kernel@vger.kernel.org>, <linux-doc@vger.kernel.org>,
Davidlohr Bueso <dave@stgolabs.net>,
Jason Low <jason.low2@hpe.com>,
Scott J Norton <scott.norton@hpe.com>,
Douglas Hatch <doug.hatch@hpe.com>
Subject: Re: [RFC PATCH v2 3/5] futex: Throughput-optimized (TO) futexes
Date: Thu, 22 Sep 2016 13:21:19 -0400 [thread overview]
Message-ID: <57E4130F.6060800@hpe.com> (raw)
In-Reply-To: <20160922132347.GX5012@twins.programming.kicks-ass.net>
On 09/22/2016 09:23 AM, Peter Zijlstra wrote:
> On Tue, Sep 20, 2016 at 09:42:41AM -0400, Waiman Long wrote:
>> +/*
>> + * Spinning threshold before enabling lock handoff.
>> + * Each sleep will decrement the threshold by 1/32 of the start value.
>> + */
>> +#define TO_SPIN_THRESHOLD (1<< 13)
>> +#define TO_SLEEP_DECREMENT (TO_SPIN_THRESHOLD/32)
> Argh, we should really get rid of those stupid numbers. Wasn't there a
> patch set working on implementing paravirt functions that would make all
> this fixable in a sane way?
These thresholds are not paravirt related. They are there to determine
when we should activate explicit lock handoff when the waiter is waiting
for too long. Yes, it is arbitrary. The numbers are on the high side as
setting them too low will limit lock stealing and hence overall
performance. The FUTEX_WAITERS bit is only turned on when either the top
waiter is sleeping or a lock handoff is needed. Otherwise, it is off to
encourage lock stealing in the userspace as well as in the kernel.
Cheers,
Longman
next prev parent reply other threads:[~2016-09-22 17:21 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-20 13:42 [RFC PATCH v2 0/5] futex: Introducing throughput-optimized futexes Waiman Long
2016-09-20 13:42 ` [RFC PATCH v2 1/5] futex: Add futex_set_timer() helper function Waiman Long
2016-09-22 21:31 ` Thomas Gleixner
2016-09-23 0:45 ` Waiman Long
2016-09-20 13:42 ` [RFC PATCH v2 2/5] futex: Rename futex_pi_state to futex_state Waiman Long
2016-09-20 13:42 ` [RFC PATCH v2 3/5] futex: Throughput-optimized (TO) futexes Waiman Long
2016-09-21 6:59 ` Mike Galbraith
2016-09-21 23:37 ` Waiman Long
2016-09-22 7:49 ` Peter Zijlstra
2016-09-22 13:04 ` Waiman Long
2016-09-22 13:34 ` Thomas Gleixner
2016-09-22 14:41 ` Davidlohr Bueso
2016-09-22 14:46 ` Thomas Gleixner
2016-09-22 15:11 ` Davidlohr Bueso
2016-09-22 20:08 ` Waiman Long
2016-09-22 20:28 ` Waiman Long
2016-09-22 20:38 ` Thomas Gleixner
2016-09-22 21:48 ` Waiman Long
2016-09-23 13:02 ` Thomas Gleixner
2016-09-26 22:02 ` Waiman Long
2016-09-22 21:39 ` Davidlohr Bueso
2016-09-22 21:41 ` Thomas Gleixner
2016-09-22 21:59 ` Waiman Long
2016-09-27 19:02 ` [PATCH v2 -tip] locking/rtmutex: Reduce top-waiter blocking on a lock Davidlohr Bueso
2016-10-24 18:08 ` Davidlohr Bueso
2016-10-24 18:48 ` Thomas Gleixner
2016-09-24 1:28 ` [PATCH " Davidlohr Bueso
2016-09-26 21:40 ` Waiman Long
2016-09-22 19:56 ` [RFC PATCH v2 3/5] futex: Throughput-optimized (TO) futexes Waiman Long
2016-09-22 20:26 ` Thomas Gleixner
2016-09-22 21:13 ` Waiman Long
2016-09-22 13:23 ` Peter Zijlstra
2016-09-22 17:21 ` Waiman Long [this message]
2016-09-20 13:42 ` [RFC PATCH v2 4/5] futex: Add timeout support to TO futexes Waiman Long
2016-09-20 13:42 ` [RFC PATCH v2 5/5] futex, doc: TO futexes document Waiman Long
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=57E4130F.6060800@hpe.com \
--to=waiman.long@hpe.com \
--cc=corbet@lwn.net \
--cc=dave@stgolabs.net \
--cc=doug.hatch@hpe.com \
--cc=jason.low2@hpe.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=scott.norton@hpe.com \
--cc=tglx@linutronix.de \
/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.