From nobody Fri Oct 3 14:34:52 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 916A43148D0; Fri, 29 Aug 2025 16:02:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483331; cv=none; b=IvmKP9GU3EJ/Ny0YR3Vfj5LyE4K+lygc7SXyjhfRiKJ7ydjEaRl8LlCvwZYfyYwLHN6t6p+dhGsLc3dA7tZ1e2M6bIhGns5ELF6h0ZiM+6UR4bqpBY/HCeTXrPCh3i+j9BNBsze0WEgH60RcMYJdMNSx3ZWk0eFLXdxYhkivtdo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483331; c=relaxed/simple; bh=10rkKH2awLC4h090ghNe2ogkS+fKS797TSz4HPWoGac=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=E6clO1fO2G0El4V7/7BmJxKYptKvOWexGZLrvLbci0B84Opu/6OlBWzPtbbhBwq7YCBFKaMLKLWk79ID0mJwJfVmlXFAe0cT+7rp0FdygFlQCMBOhB7auF6qbiS5BoMu7iQXSqtxZ32ZpozNu95BtOstDcuAOCSHcS0zrs7pJew= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=Frl84cLY; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=zVrNinz4; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="Frl84cLY"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="zVrNinz4" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1756483327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BwvWr2vmy6q4Y6vsIhS71HJZMtQa4n71VOH7S0rOQNk=; b=Frl84cLYNPJeRVXgctfNurPtj7Da/sQG6wR2jq4b+EEuTh24UyvOsWI4NDN3EhC5Tb6dMX 0RUPRnhUDVea8QGFv/Gl208htxbthKsJlSU+w9u4m21mCb2Nz0Xkr4hBv2yp1BstNl8Ana iL3d3JY2bY78FYbqCKHvwwqp8gnuXirW3wphZxXBYExSqHvdICpfuueWL0K3cZb1uEGMXB b3Eaa26RiUFEnmN1RFIAh+qF3i4Otg56fzfwB/TX1I8R+TDu8DU4Up7cx1KkeIWuMpkV20 hwZm91lHEAajHqL9RiNdY6sPTZI7FpHBZclsVJUtP/RKOqH1t17kBD0y9en46Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1756483327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BwvWr2vmy6q4Y6vsIhS71HJZMtQa4n71VOH7S0rOQNk=; b=zVrNinz4VzYiHYUaEgzL2c7xpB27YvyMzsnJ7rKjl9ARgIg9F9H7oPiJMLjpP+tC8QelE6 mpXyDeDyu6dlgRDg== To: linux-kernel@vger.kernel.org, linux-man@vger.kernel.org Cc: Alejandro Colomar , =?UTF-8?q?Andr=C3=A9=20Almeida?= , Darren Hart , Davidlohr Bueso , Ingo Molnar , Juri Lelli , Peter Zijlstra , Thomas Gleixner , Valentin Schneider , Waiman Long , Sebastian Andrzej Siewior Subject: [PATCH 1/4] man/man7/sched.7: Update the real-time section Date: Fri, 29 Aug 2025 18:01:57 +0200 Message-ID: <20250829160200.756194-2-bigeasy@linutronix.de> In-Reply-To: <20250829160200.756194-1-bigeasy@linutronix.de> References: <20250829160200.756194-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Update the outdated information: - The PREEMPT_RT patch is merged. The patch continues to exist (as of now) but is not mandatory. - The patch can be still downloaded but most people use the git tree these days. Add a reference to it. - CONFIG_PREEMPT_DESKTOP was never thing as far as I remember. It was always CONFIG_PREEMPT and its description referred to "low latency desktop". - Within the PREEMPT-RT patch there was a brief window which introduced PREEMPT_RT_BASE and PREEMPT_RT_FULL. I am going to ignore this. - The introduction of PREEMPT_LAZY in 6.13 moved PREEMPT_RT from a preemption model to an option. - The mentioned wiki is deprecated. Update the URL to the new one. Signed-off-by: Sebastian Andrzej Siewior --- man/man7/sched.7 | 58 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/man/man7/sched.7 b/man/man7/sched.7 index 3299c21dc1ad8..5da631c310636 100644 --- a/man/man7/sched.7 +++ b/man/man7/sched.7 @@ -933,16 +933,12 @@ the following to modify the autogroup nice value for .EE .in .SS Real-time features in the mainline Linux kernel -.\" FIXME . Probably this text will need some minor tweaking -.\" ask Carsten Emde about this. +.\" The archaeologist knows about v2.6.9-mm1-V0.1-realtime-preempt Since Linux 2.6.18, Linux is gradually becoming equipped with real-time capabilities, most of which are derived from the former .I realtime\-preempt patch set. -Until the patches have been completely merged into the -mainline kernel, -they must be installed to achieve the best real-time performance. These patches are named: .P .in +4n @@ -953,24 +949,52 @@ they must be installed to achieve the best real-time = performance. .P and can be downloaded from .UR http://www.kernel.org\:/pub\:/linux\:/kernel\:/projects\:/rt/ +.UE +or cloned from a git tree +.UR https://git.kernel.org\:/pub\:/scm\:/linux\:/kernel\:/git\:/rt\:/linux= -stable-rt.git .UE . +The individual releases are maintained as long as +the matching LTS kernel is maintained. .P -Without the patches and prior to their full inclusion into the mainline -kernel, the kernel configuration offers only the three preemption classes +Since 6.12 it possible to enable the real-time preemption +without the need for any patches. +The +.I realtime\-patch +continues to exist and contains support +for not yet integrated architectures, +drivers and features that are in development. +.P +Since 6.13 real-time becomes an option +and not a preemption model. +With this change, +the following preemption models are available: .BR CONFIG_PREEMPT_NONE , .BR CONFIG_PREEMPT_VOLUNTARY , +.BR CONFIG_PREEMPT , and -.B CONFIG_PREEMPT_DESKTOP -which respectively provide no, some, and considerable -reduction of the worst-case scheduling latency. -.P -With the patches applied or after their full inclusion into the mainline -kernel, the additional configuration item +.BR CONFIG_PREEMPT_LAZY . +The real-time capabilities can be enabled with the option .B CONFIG_PREEMPT_RT -becomes available. -If this is selected, Linux is transformed into a regular +and the preemption model be set to either +.B CONFIG_PREEMPT +or +.BR CONFIG_PREEMPT_LAZY . +The latter model is less eager to preempt +.B SCHED_NORMAL +tasks in an attempt to reduce lock holder preemption. +It does not affect real-time tasks. +.P +With +.B CONFIG_PREEMPT_RT +enabled, +Linux is transformed into a regular real-time operating system. -The FIFO and RR scheduling policies are then used to run a thread +The +.BR SCHED_FIFO , +.BR SCHED_RR , +and +.B SCHED_DL +scheduling policies are then used to run a thread with true real-time priority and a minimum worst-case scheduling latency. .SH NOTES The @@ -1032,5 +1056,5 @@ and .I \%Documentation/\:scheduler/\:sched\-nice\-design\:.txt .P Worth looking at: -.UR http://rt.wiki.kernel.org/\:index.php +.UR https://wiki.linuxfoundation.org/\:realtime/\:start .UE --=20 2.51.0 From nobody Fri Oct 3 14:34:52 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8616321427; Fri, 29 Aug 2025 16:02:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483331; cv=none; b=HDEBrPKMZw2HWFRbNOlFMHg201HD9TB/AwwCyainHVus1rnVUImx+lrFM9Iq0HXroGLYMXnarlSlsdTeBMxEmMbVmaQkw+UNZW3A1LE2XCoapZWXi+fM3vfXVxgMi7yODRP1W2P7lGf2UZajWbgEgR6nxgLn/C2g527QL8y3kUE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483331; c=relaxed/simple; bh=RezZKOflT2Ut76JF4U3Om+el9vf/LXRuEmmU33V2JVE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SJOHaFHVeLha3qkNE6r1pyPK57JGF1u5OoZsMaSo8xIstRgPRIZQlfL2sv+YHMxeZHtzxMgKO77RyJQhJIkGNC3y40wYnYbzG5hc/drwUZZy1qsipHjB1AP/nUQGGGKaOpgeWZDeX2W7XADc0yJz9VwsssnLecgbbbbfMqwe29U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=uAShmqO3; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=IS/pdxQp; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="uAShmqO3"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="IS/pdxQp" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1756483328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RezZKOflT2Ut76JF4U3Om+el9vf/LXRuEmmU33V2JVE=; b=uAShmqO3dFLAd03IsevyLHOwsizI9tI1ED8GkvxRlbkpHlvor3WnYmOhtdI4j1Nm6JqdYO x+CftcJcpDsyT2oM/xUs5t5Up16rqGx1i2y3/DtwO5lujWJEcO787lJkIDX/EjcIo1Az6h lgXhCJVl7P+7AMv3EyBeN/zWEr1ALytyENvI5ZF0uN02fDuyElW1WAKvVRkt6pLo4si7hY ZeynSPst/gOc4yi91qjiK1sbRxUsYA2/EbZEJ1YLJkolKHDTnHdIaYVYf6Q5PqYXoinw7W z+4PRGMPmpw0Mz4La+7LRvKI27vn8WZtcrasIyuW9FTmkslhfOa5m8arVymhng== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1756483328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RezZKOflT2Ut76JF4U3Om+el9vf/LXRuEmmU33V2JVE=; b=IS/pdxQplqOQDUvCgRQq24falgn430rhIvW0WMXpSezENVeziL/9UlkShIqTMKuHG2CJpb f7QaYkRgeREtZJBA== To: linux-kernel@vger.kernel.org, linux-man@vger.kernel.org Cc: Alejandro Colomar , =?UTF-8?q?Andr=C3=A9=20Almeida?= , Darren Hart , Davidlohr Bueso , Ingo Molnar , Juri Lelli , Peter Zijlstra , Thomas Gleixner , Valentin Schneider , Waiman Long , Sebastian Andrzej Siewior Subject: [PATCH 2/4] man/man7/sched.7: Update the documentation references Date: Fri, 29 Aug 2025 18:01:58 +0200 Message-ID: <20250829160200.756194-3-bigeasy@linutronix.de> In-Reply-To: <20250829160200.756194-1-bigeasy@linutronix.de> References: <20250829160200.756194-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The section refers to .txt files but they have been moved/ renamed to .rst some time ago. The mentioned sched-rt-group is inconvenient as people always complained about CONFIG_RT_GROUP_SCHED. Everything that describes CFS is not wrong but the kernel the kernel switched to the Earliest Virtual Deadline First (EEVDF) scheduler. Instead of updating the file links below (and adding new ones), replace them with a link to the automatically created scheduler documetation from that folder. This also has some EEVDF bits :) Signed-off-by: Sebastian Andrzej Siewior --- man/man7/sched.7 | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/man/man7/sched.7 b/man/man7/sched.7 index 5da631c310636..2f0cb1792d02a 100644 --- a/man/man7/sched.7 +++ b/man/man7/sched.7 @@ -1048,12 +1048,8 @@ was not possible up to Linux 2.6.17. .I Programming for the real world \- POSIX.4 by Bill O.\& Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0. .P -The Linux kernel source files -.IR \%Documentation/\:scheduler/\:sched\-deadline\:.txt , -.IR \%Documentation/\:scheduler/\:sched\-rt\-group\:.txt , -.IR \%Documentation/\:scheduler/\:sched\-design\-CFS\:.txt , -and -.I \%Documentation/\:scheduler/\:sched\-nice\-design\:.txt +The Linux kernel documentation for the scheduler +.IR https://docs.kernel.org/\:scheduler .P Worth looking at: .UR https://wiki.linuxfoundation.org/\:realtime/\:start --=20 2.51.0 From nobody Fri Oct 3 14:34:52 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B1FA23A1DB; Fri, 29 Aug 2025 16:02:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483332; cv=none; b=BMF/EoHBxbTdl08j21dQbK1VbKe3Hkp2G/DaO7BdhLhfgbeJX/yaVstceRqJCtlnRGofmbTjNx2x+VFtR4NSK5+5Smsc4e239gZ7U2MsLFFHf0uSJK7LOHTlybKQ0Hyk1ZgU5pia3LQvgWO6ZoFU2VlYAWFl8SXts+vUypBW3To= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483332; c=relaxed/simple; bh=ORINY7aCdFsj/IrE3PXhMTzCcqbCguL7+2xYhQkJBkk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ah//InGLJbv+1N0yZT7WeMawleKGJaneihvgHQr8+FDJnh22qDwCAdFDVwfd/s0o5fxS+2QSqhFdJO3e5yoYAzgAu6gTyS9kCkIZ/ZRg2YYNaz7Q0iCMGxuiogSvqVBDbvLemIvqlWfDBZ4hnxAsTPQM/Dsth5j96DEFutvtQpU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=hx1xlID2; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=DELIyltN; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="hx1xlID2"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="DELIyltN" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1756483328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ltLdqyjfOS7bH3fiRHszejg3COrwWBQQloWm1wYMGsE=; b=hx1xlID297OKTYwur2rcCErvfDObXs/Z5uQEnzbw1XACMeyAgT75m77pwRE5697C3WcveM 3S234j/rvIuNmmwvAzj5bmKSlvR2haMEPxcQJSdXyYgHXLFaT34H0TOem4ZN56Mx3HimGg +hYz9aHRGylFYVEFFPMVT1NGrPYiq4h7nN0yXOAO/rIkTriJZKKLKGIDX082tQ9tMpJqdj Qch7T4aYp3Ek0j2zGZo70xAM8oVXwA0uBS0Llzr+CeyxURaWiyiai6vwwW6y8Sb08dDGNY xJVFy9vsptBttzYu+2vWF84SHWz0yBh+LmXW8YMqGrcDHgCYXizjquJOGHgKQA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1756483328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ltLdqyjfOS7bH3fiRHszejg3COrwWBQQloWm1wYMGsE=; b=DELIyltN6NL1biRH5Yk3PfNQfw1TUWu9Xr3EjmKIiV48bXLtpS/Trp6pP7UOruubYdmfjz onH62rXjr6pTeYDA== To: linux-kernel@vger.kernel.org, linux-man@vger.kernel.org Cc: Alejandro Colomar , =?UTF-8?q?Andr=C3=A9=20Almeida?= , Darren Hart , Davidlohr Bueso , Ingo Molnar , Juri Lelli , Peter Zijlstra , Thomas Gleixner , Valentin Schneider , Waiman Long , Sebastian Andrzej Siewior Subject: [PATCH 3/4] man/man2/futex.2: Recycle two gmane URLs Date: Fri, 29 Aug 2025 18:01:59 +0200 Message-ID: <20250829160200.756194-4-bigeasy@linutronix.de> In-Reply-To: <20250829160200.756194-1-bigeasy@linutronix.de> References: <20250829160200.756194-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Based on the date in the comment, the here provided URLs should point to the mails that the gmane URL no longer can. Signed-off-by: Sebastian Andrzej Siewior --- man/man2/futex.2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/man/man2/futex.2 b/man/man2/futex.2 index 69df4036ada7f..027e91b826bf1 100644 --- a/man/man2/futex.2 +++ b/man/man2/futex.2 @@ -6,10 +6,10 @@ .\" .\" FIXME Still to integrate are some points from Torvald Riegel's mail of .\" 2015-01-23: -.\" http://thread.gmane.org/gmane.linux.kernel/1703405/focus=3D7977 +.\" https://lore.kernel.org/lkml/1422037788.29655.0.camel@triegel.csb .\" .\" FIXME Do we need to add some text regarding Torvald Riegel's 2015-01-2= 4 mail -.\" http://thread.gmane.org/gmane.linux.kernel/1703405/focus=3D18732= 42 +.\" https://lore.kernel.org/lkml/1422105142.29655.16.camel@triegel.c= sb .\" .TH futex 2 (date) "Linux man-pages (unreleased)" .SH NAME --=20 2.51.0 From nobody Fri Oct 3 14:34:52 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36888322A18; Fri, 29 Aug 2025 16:02:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483332; cv=none; b=myGoirx0hncFbKgQGzF2Qmz35VtAI6F3el4YqqnqvCCtrUEMduxk/vmPr1KVDDtNRRb5S1FoYTCf/EcymXoc9BgcYgyvKDIGedXv5T2ZAzpFfe+zSBKeXQP7t6t57u6+vuLcjyGtbtQZHB2876H0JSU/LEjVuFqxnyHIZhM18qw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756483332; c=relaxed/simple; bh=bQG29d/gqfa37KgR+eWcvTJsIyNPrhF/BJ6WV0UpMy8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=P7melyR0ZH7/iED8LGmnYAOm8VRKpk9bpr4RO7e6P9feNezL6X+luj4V3H2uZ37dGGAY80ibHQERzcjXfF2vSQuXpMPaozdWnVsqO8Pf7924aLwaFtR/7USliZKploHrtVPtNrn0f4tw+bd8is08LI3ILukSFmMiUKjpzYDHDus= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=lO7i4YFW; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=6VW61c2t; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="lO7i4YFW"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="6VW61c2t" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1756483329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WIdtKqiOOJ7p8IurtDpid2eELI/1MsRh6+zCH+5n51E=; b=lO7i4YFWemxYjdj7EeoWtRs0REHgGWZg0IqmKTgYlAwMHelUbV29KEK+Rs35Ln2s71rl4U sCxURcF/+JWTYImSgh/DIAH0kUezb1q151lcLPmHzqwYX74sKCn9vHezD7fkn9JeGXsUDu 2h6EbKhPs2Zf1LRbpVKn6Vq3sLixYRJGD5sUTfX/dhIOKJrxg7SVJxFxqjwhrNYODoEQbc z07BgZmvLt/OiU0s8IA76b65cUgb5zP/rjINM3VZyy+XvbLDOwraHsjbS/9MqUqA43nldf zTrEH2qpxUueTVk3i7RRFwF0xYKvTxuN88fj8hcecK/sXu3XvECmwsi8kKDKOg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1756483329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WIdtKqiOOJ7p8IurtDpid2eELI/1MsRh6+zCH+5n51E=; b=6VW61c2txLWpGEb3dky+/NXAFS5tpQOIBZIOujSYYdEImHONIqO9pGeXDDcCb2uW+lUYkP Hs3J59d1hWBNRGBQ== To: linux-kernel@vger.kernel.org, linux-man@vger.kernel.org Cc: Alejandro Colomar , =?UTF-8?q?Andr=C3=A9=20Almeida?= , Darren Hart , Davidlohr Bueso , Ingo Molnar , Juri Lelli , Peter Zijlstra , Thomas Gleixner , Valentin Schneider , Waiman Long , Sebastian Andrzej Siewior Subject: [PATCH 4/4] man/man2/futex.2: Add a pointer to Linux' memory-barrier Date: Fri, 29 Aug 2025 18:02:00 +0200 Message-ID: <20250829160200.756194-5-bigeasy@linutronix.de> In-Reply-To: <20250829160200.756194-1-bigeasy@linutronix.de> References: <20250829160200.756194-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The "totally ordered with respect to concurrent operations" part refers to memory ordering/ atomic update and has nothing to do with the inner workings of the FUTEX code. It simply tries to express that the futex operation will compare the supplied argument with that is written in memory. This might be a tad too verbose but then there is a fixme asking for details on the sychronisation. Maybe a pointer to the memory barriers is enough in terms of the required synchronisaton. Assuming this is related to the memory value and not the futex internal synchronisation. Signed-off-by: Sebastian Andrzej Siewior --- man/man2/futex.2 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/man/man2/futex.2 b/man/man2/futex.2 index 027e91b826bf1..fe4a239c3812c 100644 --- a/man/man2/futex.2 +++ b/man/man2/futex.2 @@ -84,16 +84,14 @@ on the same futex word. .\" would be sufficient? Or perhaps for this manual, "serialized" would .\" be sufficient, with a footnote regarding "totally ordered" and a .\" pointer to the memory-barrier documentation? +Please see +.IR https://docs.kernel.org/\:next/\:core-api/\:wrappers/\:memory-barriers= .html +for the definition of atomic operations and memory ordering. Thus, the futex word is used to connect the synchronization in user space with the implementation of blocking by the kernel. Analogously to an atomic compare-and-exchange operation that potentially changes shared memory, blocking via a futex is an atomic compare-and-block operation. -.\" FIXME(Torvald Riegel): -.\" Eventually we want to have some text in NOTES to satisfy -.\" the reference in the following sentence -.\" See NOTES for a detailed specification of -.\" the synchronization semantics. .P One use of futexes is for implementing locks. The state of the lock (i.e., acquired or not acquired) --=20 2.51.0