From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751379AbcETW5I (ORCPT ); Fri, 20 May 2016 18:57:08 -0400 Received: from mail-bn1bon0139.outbound.protection.outlook.com ([157.56.111.139]:43776 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751087AbcETW5G (ORCPT ); Fri, 20 May 2016 18:57:06 -0400 Authentication-Results: fromorbit.com; dkim=none (message not signed) header.d=none;fromorbit.com; dmarc=none action=none header.from=hpe.com; Message-ID: <573F9635.7080006@hpe.com> Date: Fri, 20 May 2016 18:56:53 -0400 From: Waiman Long User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Thunderbird/10.0.12 MIME-Version: 1.0 To: Dave Chinner CC: Peter Zijlstra , Ingo Molnar , , Davidlohr Bueso , Jason Low , Scott J Norton , Douglas Hatch Subject: Re: [PATCH v2] locking/rwsem: Add reader-owned state to the owner field References: <1462580424-40333-1-git-send-email-Waiman.Long@hpe.com> <20160519013753.GF21200@dastard> In-Reply-To: <20160519013753.GF21200@dastard> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.228] X-ClientProxiedBy: BY2PR04CA033.namprd04.prod.outlook.com (10.141.249.151) To CS1PR84MB0311.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.29) X-MS-Office365-Filtering-Correlation-Id: 9e81cfa6-6a79-42db-2971-08d381020ed3 X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;2:s8YaWBe2GJbzEeB2qChRRRbAVCmHLd7ptU4S/7yOPA7bPmN9SdzbVMas6l7ez/CrNnor9nU0D/XHY0cyjVDcBxQ7N87Au4i7xIXFSHeeaOavJzshi8Vycst7161r3ykN0xAnA75s3DHr/WS5Qk9ARlToUPb3oVI/6pNZdNT6C2/m4Aw6k3Zaah1Pm7JRG2Ce;3:lfOIRDEHxUTrerCqWKJq2Mc89NhqaZ9QQ/CUmYOF0uQss/nhBxrLZxm8Jq6n9olHI+KZagG9mantEWnHAsqfAoVMARx5JJZS5hCoYZKRtnRlU0rdMUlhqgmZ/kT0afsW;25:fDj5sC35xU5WmKVVCIjVr2FjpuE0cAWwwIG+2MpMIicS7BqxVj/iGpgsPVdaBqJ6BKDNPZ4RQ3XMjF45/5i736S6jdmgucj+5TK3XLudl/iRf9Xz9PG0po3LxrbeoCt1VRtKK/RtcrX1SLx081nEi1rPH1N51pDszHgvN4LkpUJTbnCw0JYawBNhT4BVwbadNJwWg6gU68O4qusPI7+Keihty7EOKHpd2jXGaWoXr1zeAtZxGU4BEgs+v+kitr3kDMdqJECPSaXFVPAKuzSEeUyPLc318johKlME3wiYKsV//tVaXQVh1br4j3IbWvud/m/iWaV/3wGGefQnB/mbnRoXaeLqMfKio5pO8oSgIiMkSzTM2VhT7WlgpFTfNRzz7KQhkmaEADJRTjIjAr4v5kAAEHohNGXSn/wFfJIuLtI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0311; X-LD-Processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;20:15V3+Le/oKPyCdAOImcCUK0lEx/EWy1HoJ1Tki2QqOdbROMaIg/1HTVW2PMZEz5NIcRzuIZz0uBMNtceC0Uv/3P6QIAIsWgli+ZTZ6UPRgN4GGDOjUeSal7Y0XHqAkCyPpqK+mYrRWU9InppgjKl+QFagZ70lVqSAHOgf5ZXyPzq2YOxNy9XApdbCOZ4weyQ0Egia9x7ZP+0fFplw4WhM5ZrJe0aM4Vj+FzgBN5UCZoVrXr8YPOlU7R1kFSaKRgpoGqynonpTOCBVjpqjKMohfJu47rTWqV8sZYg8pC7y25ud16xzhUm8iwyo4jidrBy5Wl1VHP5YgGAqirjPI5cDw==;4:ctZjjAKuy/n/EI4SaXGKfij+4ple7Nsr/oY4iNIUOyBkmAN9eDLsa6OUjcMrZUnMdOBmmMOYG8yvl/pzXUKQchylC3vUAgJaddzGVbGhXsTUm9br/pnmCcjrjSS4d8TbFGy62LXOnU7F69mtI0gTQCSwpajm0kmikAMUUKQHjyi/PT7sWyI2r5vmK2P9Qzjt4oUdgyMILUfaHfgzRqN/id7YVE1roY0EbVexEp2F+1hIehauWvpB42BOTkDG4C8k0ms8hI1BSgw5rAVbYoOc6MfeKMe3sNZa18Li1sPIA57QV4izJIQeLin+R3b+0Bic/TeH28wXgKAdsjWQCH1noUX4yrz+WS65ZWtQ7dY3lMMvpXUxAMgEwRTZT9pjzKz5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:CS1PR84MB0311;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0311; X-Forefront-PRVS: 09480768F8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(377454003)(24454002)(42186005)(77096005)(189998001)(80316001)(2950100001)(66066001)(65956001)(4001350100001)(5008740100001)(110136002)(230700001)(92566002)(47776003)(65806001)(5004730100002)(50466002)(83506001)(23756003)(86362001)(64126003)(81166006)(117156001)(33656002)(2906002)(8676002)(6116002)(3846002)(76176999)(586003)(50986999)(36756003)(87266999)(59896002)(8666003)(54356999)(4326007)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0311;H:[192.168.142.135];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;CS1PR84MB0311;23:eyS9J8VaLq/gNxEL/X67KeyEDo0D6iWdNhXLT7W?= =?iso-8859-1?Q?JESc+zYk/vCZuqUE+ESJSbeq1W/BHW+dZfEpr6NkXpzul9J7IgbAhKbm6C?= =?iso-8859-1?Q?auVxW77s6q3sP2XWGqGsExpFJFuWMR0eIKDIZu+j8GUus2BcQJnrhY0hFC?= =?iso-8859-1?Q?V/Qu+IY55K6RislAG5TexTOdBSL6AfAuwxW/JlfDgMtJ9mhvgdOIYHbVDh?= =?iso-8859-1?Q?S4SdTdBT+GZWx1OnJCS6gPxcStVFvI1Cp7ej4FiCNGw/nmA7Lxio3lz0KH?= =?iso-8859-1?Q?EFp8L7UyxSHGS25n0j+nHIkdxzJxLj3atBC2LszbTtgAYG8azUy2pt29KQ?= =?iso-8859-1?Q?b9BgPXMpH1Zli/0maJw3o2MXPInPWch89McTuLdrQ2RG1E2iQI9L1D87YK?= =?iso-8859-1?Q?J2dKFY3Z09Rbh+aHXxmll/IcPqbdahOZIDwMaAjXQ8/9Gact67VxY8Lwog?= =?iso-8859-1?Q?yTo1WTOH+BEPfat+k6z9/CUTNgb0KxcAAf4fKFlpAc4Gz8to9wqR8yhPKa?= =?iso-8859-1?Q?gYleTgrP2rlkrfHoi1qr6JR+L93oLe268d2EwK2Zg/tUzEKp7KXQnIz3jW?= =?iso-8859-1?Q?VbSW783Q99Um5CZCY0p1LJ+P49l+YRou865wMCwYT/13W6Spu9vowMPCvD?= =?iso-8859-1?Q?Q20c+WE57b7B2GFAHHCRSJlWprIxUhAe7BHwx0vIVmhKocxjz/SMMMG6qX?= =?iso-8859-1?Q?nI5sq4grR27GxoH+1MzYc/bPOHTp8umuH5v9y2XqXv4cY9wAn7Bp7Z36+b?= =?iso-8859-1?Q?gIMazH7vyX/5NEw7eqeAKQ3qLrqU5Z8bOsHcUP5wriojcH/JeLwTc3CP2c?= =?iso-8859-1?Q?7jqBba2wfC+SE95QUHv1D34lm6PbYb4+5uqdWQr/8GHSu2s00isbrWi6k6?= =?iso-8859-1?Q?OUMtYZG3TpQ0AePopoK5Kgjww3oY17ve1lpi3wGbMnC/Q9FB1QB/YxoPDb?= =?iso-8859-1?Q?x67kjdtP84Rz27Azeed1t9ybrjBwh45ii0TlP4MQCad21ElRcgvaQOnsf/?= =?iso-8859-1?Q?3jg1/MeG8D2TD30aGaMRUPQDkrRqocreXU3po/qwnjw6OpTfbphAcIA1KB?= =?iso-8859-1?Q?BRK7MUalTvfp8vHmUy7dihY9eQtfK3DCOh5Cj8uRDsHDiGBccaFWIuzfsF?= =?iso-8859-1?Q?FYTMwIZp6PwK6Os9RlXhJVWS80Q=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;5:ivEoSz3cyMnCvlsOjTbP9PBwcKrcMHigQJOMpxnYhaDOWvngRDyrlEDZRZxLeGt9s4VEv+7LSu25lfoifgZWwuaffQ+Pp99+PEeUSHLEwtqfC/H3fwr3TEBrPASGv86SLrOIKO0xs4hcWZhgjoLJog==;24:03NeTN7UD+2rZsjsaeSImHrfL4wwk8z/fgnTz89BQvS8jVIMWLKApDYQimyn7BTHnLzPZ1oRWhdRT01R5gFLHrTbZWTULqW7B3bw7/b8dgU=;7:SW48szjF6pjoKkD8iXmTtLEL3E55GGjr2pGx5B3Cq36HeGhdSjQIjrq8lRVo/iHM5t0synn3FOJqynImbCYyzLUeuv8cpwqUx0M3Jn0PRvlbGMMyShxQRGalg7ya7LyOJe7oTqhuaML0TcI3E/X4WCDysKfhOKTd1jmW3xcjzK5pyUEo2WzWrU1mkc1D4zi1 SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2016 22:57:01.3165 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR84MB0311 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/18/2016 09:37 PM, Dave Chinner wrote: > On Fri, May 06, 2016 at 08:20:24PM -0400, Waiman Long wrote: >> Currently, it is not possible to determine for sure if a reader >> owns a rwsem by looking at the content of the rwsem data structure. >> This patch adds a new state RWSEM_READER_OWNED to the owner field >> to indicate that readers currently own the lock. > Oh, yes please. This will enable us to get rid of the remaining > mrlock rwsem abstraction we've carried since the days of Irix in > XFS. The only reason the abstraction still exists is that we track > write locks for the purposes of checking for correct inode locking > contexts via ASSERT(xfs_isilocked()) calls.... I think we could add code to export this read/write ownership information. However, that will only work when both CONFIG_RWSEM_XCHGADD_ALGORITHM and CONFIG_RWSEM_SPIN_ON_OWNER are set. So this functionality may not be available in some architectures that use CONFIG_RWSEM_GENERIC_SPINLOCK. Cheers, Longman