From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A83E2C1975A for ; Wed, 25 Mar 2020 16:39:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 859E22073E for ; Wed, 25 Mar 2020 16:39:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585154367; bh=A1GPX4wlECfGGG7gTSHHrGt3spoxTdKZ1xy9utwV/BA=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:List-ID: From; b=qy4/X+5l7Zek6NOovkRr6PdXSWr33dJ3ODW+GU0RIk08N/MIWP5YFM1Qls9XbcmZC 5VNDNCGA7BQsG3mh3snjZozy+mG5BBvOV7zuvYFfCCnAeUeRTEmGOnEel34pcQTMiO b5SbJsWldP89c4kFPUVUumozO6OCfsk+HH9uDipk= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727575AbgCYQjV (ORCPT ); Wed, 25 Mar 2020 12:39:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:39030 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727464AbgCYQjU (ORCPT ); Wed, 25 Mar 2020 12:39:20 -0400 Received: from paulmck-ThinkPad-P72.home (50-39-105-78.bvtn.or.frontiernet.net [50.39.105.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6311D2073E; Wed, 25 Mar 2020 16:39:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585154359; bh=A1GPX4wlECfGGG7gTSHHrGt3spoxTdKZ1xy9utwV/BA=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=APOdz2w7EH+7D58vqGoNgP8mOHfbNma8Ty1WIG8jpBICPSinl9OycWqb0OdtxkciV gxpkAVRwhIe+WxIGCYwXBH73yF99ZY9v+QEk7Sp75Ev8c6B1ujrOAxGnV4ZUKw4afx Pt8nI6CO51v4M2JmrHTqBAusgH99DwWPqLUsLFTU= Received: by paulmck-ThinkPad-P72.home (Postfix, from userid 1000) id 325E9352094D; Wed, 25 Mar 2020 09:39:19 -0700 (PDT) Date: Wed, 25 Mar 2020 09:39:19 -0700 From: "Paul E. McKenney" To: Sebastian Siewior Cc: Thomas Gleixner , LKML , Peter Zijlstra , Ingo Molnar , Linus Torvalds , Joel Fernandes , Oleg Nesterov , Davidlohr Bueso , Jonathan Corbet , Randy Dunlap , Logan Gunthorpe , Bjorn Helgaas , Kurt Schwemmer , linux-pci@vger.kernel.org, Greg Kroah-Hartman , Felipe Balbi , linux-usb@vger.kernel.org, Kalle Valo , "David S. Miller" , linux-wireless@vger.kernel.org, netdev@vger.kernel.org, Darren Hart , Andy Shevchenko , platform-driver-x86@vger.kernel.org, Zhang Rui , "Rafael J. Wysocki" , linux-pm@vger.kernel.org, Len Brown , linux-acpi@vger.kernel.org, kbuild test robot , Nick Hu , Greentime Hu , Vincent Chen , Guo Ren , linux-csky@vger.kernel.org, Brian Cain , linux-hexagon@vger.kernel.org, Tony Luck , Fenghua Yu , linux-ia64@vger.kernel.org, Michal Simek , Michael Ellerman , Arnd Bergmann , Geoff Levand , linuxppc-dev@lists.ozlabs.org, Davidlohr Bueso Subject: Re: Documentation/locking/locktypes: Further clarifications and wordsmithing Message-ID: <20200325163919.GU19865@paulmck-ThinkPad-P72> Reply-To: paulmck@kernel.org References: <20200323025501.GE3199@paulmck-ThinkPad-P72> <87r1xhz6qp.fsf@nanos.tec.linutronix.de> <20200325002811.GO19865@paulmck-ThinkPad-P72> <87wo78y5yy.fsf@nanos.tec.linutronix.de> <20200325160212.oavrni7gmzudnczv@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200325160212.oavrni7gmzudnczv@linutronix.de> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org On Wed, Mar 25, 2020 at 05:02:12PM +0100, Sebastian Siewior wrote: > On 2020-03-25 13:27:49 [+0100], Thomas Gleixner wrote: > > The documentation of rw_semaphores is wrong as it claims that the non-owner > > reader release is not supported by RT. That's just history biased memory > > distortion. > > > > Split the 'Owner semantics' section up and add separate sections for > > semaphore and rw_semaphore to reflect reality. > > > > Aside of that the following updates are done: > > > > - Add pseudo code to document the spinlock state preserving mechanism on > > PREEMPT_RT > > > > - Wordsmith the bitspinlock and lock nesting sections > > > > Co-developed-by: Paul McKenney > > Signed-off-by: Paul McKenney > > Signed-off-by: Thomas Gleixner > Acked-by: Sebastian Andrzej Siewior > > > --- a/Documentation/locking/locktypes.rst > > +++ b/Documentation/locking/locktypes.rst > … > > +rw_semaphore > > +============ > > + > > +rw_semaphore is a multiple readers and single writer lock mechanism. > > + > > +On non-PREEMPT_RT kernels the implementation is fair, thus preventing > > +writer starvation. > > + > > +rw_semaphore complies by default with the strict owner semantics, but there > > +exist special-purpose interfaces that allow non-owner release for readers. > > +These work independent of the kernel configuration. > > This reads funny, could be my English. "This works independent …" maybe? The "These" refers to "interfaces", which is plural, so "These" rather than "This". But yes, it is a bit awkward, because you have to skip back past "readers", "release", and "non-owner" to find the implied subject of that last sentence. So how about this instead, making the implied subject explicit? rw_semaphore complies by default with the strict owner semantics, but there exist special-purpose interfaces that allow non-owner release for readers. These interfaces work independent of the kernel configuration. Thanx, Paul