From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755822AbcHWUxI (ORCPT ); Tue, 23 Aug 2016 16:53:08 -0400 Received: from mail-dm3nam03on0133.outbound.protection.outlook.com ([104.47.41.133]:31808 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755583AbcHWUxG (ORCPT ); Tue, 23 Aug 2016 16:53:06 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57BCAF72.7020904@hpe.com> Date: Tue, 23 Aug 2016 16:17:54 -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: Peter Zijlstra CC: Linus Torvalds , Jason Low , Ding Tianhong , "Thomas Gleixner" , Will Deacon , Ingo Molnar , Imre Deak , "Linux Kernel Mailing List" , Davidlohr Bueso , "Tim Chen" , Terry Rudd , "Paul E. McKenney" , Jason Low Subject: Re: [RFC][PATCH 1/3] locking/mutex: Rework mutex::owner References: <20160823124617.015645861@infradead.org> <20160823124856.763266868@infradead.org> In-Reply-To: <20160823124856.763266868@infradead.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.126] X-ClientProxiedBy: SN2PR80CA019.lamprd80.prod.outlook.com (10.141.39.157) To CS1PR84MB0310.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.28) X-MS-Office365-Filtering-Correlation-Id: e4de315a-8606-47a7-08bb-08d3cb9294af X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;2:7QTjF6s0o+OOa9GmIjGHbqoP19Ka16JWiMCpQkYpvYweukQCaZ/6IXTRA0yiMBb83byvjIecKGGl+Fm3qJFwD8bSxD3/7guny1gUmXolmCWY8tjUaZU/bCE99e1MpAd2ROE0OqBf6xoQkVOAUT6ZE6NvdhK2LxKqCOh9FqEn0sJAVd0XBjuPrEnTjpJf4M5C;3:5Av4yFUz1Gy9gqYI7rb++1QpsRnve/VmS3wEKHFpn+PV6wX58/BS32f/c3d2clMN6yHULgGn8kuMJXf+2A9FnKAvbwoU1F1drwmj3JKdtBQvovBihGlZnpyq5G4ZThtI X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0310; X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;25:NAIPa4eNEVt/etifNAYqhbR2X99xyujEWonlZGbbrUXtcPf7EFARG/xN5IkNJQYPx1w0DzgXxqOGUqtpLDL8RU6OvP4FHnIzj0DNBHMYQFKKn1hT57NY07NgaWnkwOUeIiLDFqSh8LS2pBaqmnfvro96x8E9hf5haJmadSpq/RcbjytKhNUevjb1xO5QLtckFWZJPI9T9KgTaGeaabHZ3+qa2NLsY0P0/eNzq7MRDymjfgpQXfGLKRgs8T2yf+9U4nB6LmEAxf+7jG6wzKSptdAsKbbgn2g5X8UQv+FN45ahNI06gf1CBD8V+eDDTtt5egVYedVHgbg0UrXYVYbPr+oglQgzSF9FZioyJMKrYH/C/LSDtQugZdaXseQeQUVhwK8o6JNwSouyMRg1qphlhDQeiuxbTchZliSoMEl8Yxx+LGVF4Rpw8VaJEewU+fjBZJy+P4DVFvWaNvQz6S2ge/d88l3rx3wb8qhNkbHng2Ur9T8FhmrBd8oOFCERjjh6QMP9xevYufSCDyeFA7x9s2l3d+0A9XI0B/o139odxNDhTw0MDwqesHSDNpR2/M5klcu4scFpKol6mX7SFDuOTFRmxVsYJfkNjI9BXb4AUElwn2Q8i7ukuQT8iCvWky/HMxKO6eVhRANQpgsMs23kvHyAGxHon8k5sJ9ZAD5IUOsTX0Zggz/oQ1vizbL914+h;31:P1jAJ9+mnacs/dGMpV4+sk1WGUXXLdCiQlXexTo9EeINDFUELq3YQnS2QpkqzvH86FG4mVZJ5Ml5YkufawIrFAqKHFtAIspS/yo2/aChfqNeGm2ycwHTQ0ao8ufgjB5kg18My4/hnx9rRPQre8AJzEvvKN/l++DZbEyE+ffF/D3J/i26kratVuZikQo79Z55cbBKg967ltV+jUCgb6KhFqxL5g+kZLs38sqVvz4MJZQ= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;20:zZPrF3Cw93keks9kYAJFmfoRl0mQNNPSBQVUIXB4PG5LEzPfEoe5uMHXv33slyu4NZusxgg+/YbVqFZdbRhUmAvngOhDlhjGEMrQ0dTgKKVBqhQTkPu/todFRavQTGIDN1pjuiVX5Lps49ESP4oWvwUUuKYX7/8pK/0HqA9KTnkswa6G+PTrLAgLAzjtWHXpQLJSNnlaDehZWu4B2uQSSpUkIVBE5tZBq4/bD/dWP6W5txy1Q/0KeOfItpYni+U0WgAVwEsrM7D3hzTHTaPBdw9GLvyDA1oKP7c6jGCXTwIH1+n7CXp6N45iVKR1OcDrRM59wvJL9UcNPq9/CMCkJ+bBbvCiUg8B1E0aBszYwaF9XIk5c8yJXI0SbXqreyAbaldhttGAX54IskQRQ2wVSNWaIM5YyUIyPgsp0Hm6iwAlJxxO8U29kGpTzsSDnWQ/LwZJdCnz8l1B8s5hlTrHWWRRL1IZEhjZxtmx34X+J+NhgApHwHkf2gRO7shDVmD1;4:2Y9sJ1aSlrWLz+4meR5cdf0Ls5hzD+bbQXHIMN6EyBpzvYUv9XQVnJZtyb+f8kSvZWT+/+ILN/R76FD4k8afUpgh6I28e933wz9hRa0k2brxxoUZwE4xvWbSJBGQ//z4xr39DIjSfipdbOPTTQfLUV+chtUGBuwmfEN37WfXK9D7AeEAsgSPAGKPpitdHIah+z65FF7msak6LsNC30uHawa1B8Bu3z/v3QXBZ+elQS1c7EMbnxAXQA9FVqg/OCoitoSLXHk477eX1OJ+/3pS9YNzx+awUIYHFINZjKdjmEeRxGMJiQKChWgyJLrjK611ESaKRu5heQCdq0/Qz1MOiG9iL3R1tHIqebJfRytHLq93Dyj2c2QdI1Tw/mpQvvOkedrygR4NeZb5Oh9P+4KMCg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026);SRVR:CS1PR84MB0310;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0310; X-Forefront-PRVS: 004395A01C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(189002)(24454002)(377454003)(199003)(68736007)(2906002)(59896002)(42186005)(97736004)(101416001)(7416002)(117156001)(4001350100001)(81166006)(81156014)(86362001)(8676002)(105586002)(36756003)(65816999)(110136002)(189998001)(92566002)(87266999)(6116002)(50466002)(83506001)(3846002)(76176999)(50986999)(230700001)(586003)(8666005)(305945005)(54356999)(2950100001)(33656002)(64126003)(7846002)(47776003)(66066001)(65806001)(65956001)(77096005)(80316001)(23676002)(7736002)(4326007)(5660300001)(106356001)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0310;H:[192.168.142.190];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDUzFQUjg0TUIwMzEwOzIzOnV4REVwN3RFOFNQZnRDNXhZa2ZPa0xudGpQ?= =?utf-8?B?S0dzUWhuSzBvai8xU0RtaHVVNVFxYm5HT2xDazcrNzZNRVB6QkhncUlBR3Nq?= =?utf-8?B?aXJYMmpVa0FGVFVUR2pzamptQnd2SzlIZHhxNkhpd2dTdUhrZVYxR0grejgz?= =?utf-8?B?b3VKY2ltSm1GTUV1Qi8xR1dsYSt1aW0wb0MwczRoWkZBZjRYNzhrM28rWWdr?= =?utf-8?B?QU5pU1BqeEJFVzlscFhYU2JIeS8vdWdoczNlWU8xMS9HY1ZRMkF4V0hvejVW?= =?utf-8?B?N0NZOXRIOHRWWVl5Z0lmQzJPeno2M2pVaTNrMVdndStpaTJHa2FOaGtQM25R?= =?utf-8?B?KzgwU0srdnFwTXhsMGc1YWUxekNQalBkNTUzK0NSdmJlUkZjOEN5aFFQU0pB?= =?utf-8?B?eitLMHNIdVNRcjJkcmlwYmJldUdpa0VSV1p4WWRtMFFLdlVKWGxQQnpxWFMy?= =?utf-8?B?cHF1Yzg2RUZFVmFFZHhIaU44Ny9sZG1FVE5OTEllaFhwUTZDNG5icElTZmtj?= =?utf-8?B?R0NWNmgzTHJjYkluaWJ2N0Z3Y3BySTc4Uys2Um5aRnFiU1hXb1k1bmVhTjJT?= =?utf-8?B?NVduWHZFT001TTErQVBKeWE0WHhydmRJOGcvV2JZZmVFeGg2NnpWK0h1ZlJO?= =?utf-8?B?Y1NVOEZRcjlRSWp0Y0M2UjhzS0tRdDlhVnQ3bnIwU2NQYTFzZnRla0tKU3Zp?= =?utf-8?B?RDRUaEhqSjcrRG4yQzh3TEdGTC96R01vL1RNdytkK05WODdRYkJ4dUo3SU1B?= =?utf-8?B?OU9nU0h4Mm9YbVN0cFZaQk9WVXZOaUMwZkxBcVVaWEdaMGNYZTROdFhiN2lr?= =?utf-8?B?aFdJdGFyc2RlOXNReVl6RExpdHEwanJHOEd6aWZaWjhkU0F3MmlUYUhZeUNX?= =?utf-8?B?b1E1dHVJNTMzQ2xadmFaZlFjYzBUU2ZWVUN2UXNQbkdRREZBa3JqZEhEN29X?= =?utf-8?B?eTBqQ2NyYkxHbzc0Ujl3ZkZTUWJQZ3M2YzVwUkZjems5OGJBVE05SXc1Qksz?= =?utf-8?B?ekJxVGFyY0Z0cWxaUDBwR0tpUkM1WDZtRDdQNWNxbVVKVTBuVXNNYkRPTlMx?= =?utf-8?B?RHhYZ2JmVUQzc01HTTFKb2ZROHgrYWNtYW1xblhwY1EveEJ3d1o2UDBGbll2?= =?utf-8?B?M1RwOGV4ZDFmMERqY0lZajZFR2tmVU9iYkhRbGpPdzZWd0hBR0oydTRvTnFH?= =?utf-8?B?bUo0WCtDR0VhZVp2bkdBakx4T3RDN0hLQVlZTzlUSVd1KzNCNDN6Z2xDRWlK?= =?utf-8?B?N0l2aU9GcUVIbno3a0U3dU1VQ3BwSEZBcW5ySVo0b1lrU1BMQnBTeS9OM1RD?= =?utf-8?B?MEQ0TFJtb1FEb2pDWitXWjVkNVJ6bG5Ia0RvN254TkV5c1ZJY1IwMXVZTzFt?= =?utf-8?B?cDhDTXo0a082VUhGNGFEUkc1RnZtRFZySWZmMy9mYi9OMFkvSlVqd2hWWnhC?= =?utf-8?B?N1NPajloWG1QdzRncGNyTEIxUmNQV3BZN29ONE5CU2M5Qk5PVjlIVXJrTk1v?= =?utf-8?B?U1pTOGlaZENMa0hhMXlEU2hKZ2daMmJZSmNrRGJrZGZFaFpJLzQyaCtURzlH?= =?utf-8?B?MklmbjdFV2x5MWxHNStpUkRLbStDT214aW9ETUNheXBVU21tVW5FRUNkQ0Ux?= =?utf-8?B?bG9FYVd5N3RINVBna0ovUzlmeVBadGp2S3NhN3NtN3pKOHpnK2hiZ0VKQmlD?= =?utf-8?B?elNNZGZCUld1eUoxbXFLMUE4Wmp5dzdRMmZFcHdsV0dYWHVtSnRmTGltaGtM?= =?utf-8?B?UjBLcjlnSUFWVGh5Y01sTXZ0SFpDL2w0eWw1c2hRT2JSUGhNeG5pUHlEUTBz?= =?utf-8?Q?oMGa93tf+YkaY?= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;6:6G4zzfCwv88FhMSG+ibtweZztkQB0sA6evYm2pM4S8mmiDxqDJXr+4WY3yG/2gdZKiZXxz6LN1/5tlMYl5s0JR6i0ncfRbg4GciyIZLgDekpUG8soqbss3ybUFBxCVQKsFDeK2txnA4Dper2E2OsyptHsyO3wnwihi1qOkGe8AdXcm4slaLdZPKaIIV/0K4fRq9XXSpTN2zK1zhKGZdds3I9C/YHoc5chIBI03kI3KI8AiPxFSIIVhiYAkoY9b83IlRzkH7qlW7LMRV+34/jsX/R1yVJGe8Nr+CGWWmL1v77JqvfKGHdSu4NfqDKaU+0;5:gmubQLGa6uyyucq0FKaNLLuBwHMYTdwyrgFa8YPBQzqu9IByAvlBgXepaqdv5JBHMosS2cRZz1KFIM3hKxKBOJlptWUMBrN3vtJr4UlY6aWP9lPPAOG0teD7CqBaDw9qLQYXYV9x+kPIit2HUwLKWQ==;24:VlyIJoMd01FuDuiDPzYFIFzzOUzB2AkDdrhzBMSoKWMgn9nCsBSJChlglRQs+LmWXCdCAkfANk0PG9dRDWp/aDGmiGxEoVQHyIbL7B2Q3Yk=;7:+oIYxOvMgo95+3p/D8I9VHe9ZkjMbdSip00eyv1lfW8gAss94TAJahvFI9/iF2RLuu3eA09jVzb87b/RcpnIV+TFWXa9GDEXVFvwJ+lmILYwKL/ixW9uevsM23LYw0ILItmhGCc0llPQApXHuJ5g5wGcLNeSQsS+/o/4+VJCG9hqPrrXwgLcjaMpRPWmSdQ8vBXTFhGVskOObawWH63u27a/toE8oNJL9h+o+mxgKcg+LwetJC9DCEKlJhFd4C/U SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2016 20:17:59.1998 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR84MB0310 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/23/2016 08:46 AM, Peter Zijlstra wrote: > /* > * Simple, straightforward mutexes with strict semantics: > @@ -48,13 +49,9 @@ > * locks and tasks (and only those tasks) > */ > struct mutex { > - /* 1: unlocked, 0: locked, negative: locked, possible waiters */ > - atomic_t count; > + atomic_long_t owner; > spinlock_t wait_lock; > struct list_head wait_list; > -#if defined(CONFIG_DEBUG_MUTEXES) || defined(CONFIG_MUTEX_SPIN_ON_OWNER) > - struct task_struct *owner; > -#endif > #ifdef CONFIG_MUTEX_SPIN_ON_OWNER > struct optimistic_spin_queue osq; /* Spinner MCS lock */ > #endif I think you should put the wait_lock and osq next to each other to save 8 bytes in space on 64-bit machines. Cheers, Longman