From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753253AbcDBLLB (ORCPT ); Sat, 2 Apr 2016 07:11:01 -0400 Received: from www.linutronix.de ([62.245.132.108]:57079 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751742AbcDBLK6 (ORCPT ); Sat, 2 Apr 2016 07:10:58 -0400 Message-Id: <20160402095108.894519835@linutronix.de> User-Agent: quilt/0.63-1 Date: Sat, 02 Apr 2016 11:09:15 -0000 From: Thomas Gleixner To: LKML Cc: Sebastian Andrzej Siewior , Darren Hart , Peter Zijlstra , Ingo Molnar , Michael Kerrisk , Davidlohr Bueso , Chris Mason , "Carlos O'Donell" , Torvald Riegel , Eric Dumazet Subject: [RFC patch 0/7] futex: Add support for attached futexes X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The standard futex mechanism in the Linux kernel uses a global hash to store transient state. Collisions on that hash can lead to performance degradation and on real-time enabled kernels to unbound priority inversions. To guarantee futexes without collisions on the global kernel hash, we provide a mechanism to attach to a futex. This creates futex private state which avoids hash collisions and on NUMA systems also cross node memory accesses. The full explanation of the mechanism is in the changelog of patch 4/7 'futex: Add support for attached futexes'. The last two patches in the series contain a first update to the futex man page and initial glibc support. For your conveniance the kernel part is available at: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.futex Thanks, tglx