|
|
Log in / Subscribe / Register

futex: Introducing throughput-optimized futexes

From:  Waiman Long <Waiman.Long-AT-hpe.com>
To:  Thomas Gleixner <tglx-AT-linutronix.de>, Ingo Molnar <mingo-AT-kernel.org>, Peter Zijlstra <peterz-AT-infradead.org>, Jonathan Corbet <corbet-AT-lwn.net>
Subject:  [RFC PATCH v2 0/5] futex: Introducing throughput-optimized futexes
Date:  Tue, 20 Sep 2016 09:42:38 -0400
Message-ID:  <1474378963-15496-1-git-send-email-Waiman.Long@hpe.com>
Cc:  linux-kernel-AT-vger.kernel.org, linux-doc-AT-vger.kernel.org, Davidlohr Bueso <dave-AT-stgolabs.net>, Jason Low <jason.low2-AT-hpe.com>, Scott J Norton <scott.norton-AT-hpe.com>, Douglas Hatch <doug.hatch-AT-hpe.com>, Waiman Long <Waiman.Long-AT-hpe.com>

 v1->v2:
  - Adds an explicit lock hand-off mechanism.
  - Adds timeout support.
  - Simplifies the required userspace code.
  - Fixes a number of problems in the v1 code.

This patchset introduces a new futex implementation called
throughput-optimized (TO) futexes. It is similar to PI futexes in its
calling convention, but provides better throughput than the wait-wake
futexes by encouraging lock stealing and optimistic spinning.

Waiman Long (5):
  futex: Add futex_set_timer() helper function
  futex: Rename futex_pi_state to futex_state
  futex: Throughput-optimized (TO) futexes
  futex: Add timeout support to TO futexes
  futex, doc: TO futexes document

 Documentation/00-INDEX     |    2 +
 Documentation/to-futex.txt |  140 ++++++++
 include/linux/sched.h      |    4 +-
 include/uapi/linux/futex.h |    4 +
 kernel/futex.c             |  810 +++++++++++++++++++++++++++++++++++++++-----
 5 files changed, 869 insertions(+), 91 deletions(-)
 create mode 100644 Documentation/to-futex.txt



Copyright © 2016, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds