Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751972AbdGaSBV (ORCPT ); Mon, 31 Jul 2017 14:01:21 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:58102 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751912AbdGaSBS (ORCPT ); Mon, 31 Jul 2017 14:01:18 -0400 Date: Mon, 31 Jul 2017 11:00:19 -0700 From: Dave Watson To: "Paul E. McKenney" CC: Avi Kivity , Mathieu Desnoyers , "Paul E. McKenney" , maged michael , Andrew Hunter , gromer , linux-kernel , Peter Zijlstra Subject: Re: Udpated sys_membarrier() speedup patch, FYI Message-ID: <20170731180019.GA74975@dhcp-172-20-173-153.dhcp.thefacebook.com> References: <20170727181250.GA20183@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20170727181250.GA20183@linux.vnet.ibm.com> User-Agent: Mutt/1.6.0 (2016-04-01) X-Originating-IP: [2620:10d:c090:180::1:f2ba] X-ClientProxiedBy: CO2PR04CA0006.namprd04.prod.outlook.com (10.166.88.16) To DM5PR15MB1753.namprd15.prod.outlook.com (10.174.246.135) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e02f8ef1-57e9-4176-fed3-08d4d83e0ae7 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM5PR15MB1753; X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;3:GTS6bvi+bNahlNFNO4xT7BkjWoyqmkWXid3LEbc9gE/UOIyDv8CZM+4uBHfPF3u46tSqgp18YaalWsj7t9a8nBJb3TQ85IxZJBvm4+RHZTxV3IKmhwGsC0ZFS+EdHCpAzHah7ze8bueVzE/OuulJSqIn4UBH8WGVHVwPTDBaRu+GJstuC+5fquoqrz+gfyOr01Ms7gPKcs++zo6y5TwNX2TyDoz7icNEVfauOlOYBLEDM8Tg8j7ZdtDodTGXf6sKegGGWPYHKeFCY2D9krY/w2Ozkvc38a24XbqiAfKZFA/G0QYEwUbm6FS5raHECGVJAYkEVpvHsxxgUZqVnnMdXpipjA9hjp/YH+8iQ302GJx7mzzbaoPcRU58nVzRY8ZUXxMY7ELzBIXJAyrtDVRLny+SWrFjpYrn4VT/weereiGnlSwl1EH1uDo4hcpYWRZGjKboLHYm7lXAlXgaYIskDCeWHgqATS/nzXEamDVsAX76/ihJzBVNrwFzglwz5P4xSEwsYKewDvDStSqGtTj3IHTzS+7BEHbjXGLqLVY/Au8O+762R7GJ47CCzOehQPh5RzQSZD/5kLJ+ISk4BXCs1zP/IPtL3DCfIGQmJpl3qDYUUmqNVbj9f7r1sZDCyj9kmo/LovtD5t6hEPMHIOwKFs6Rlcum/Yr03Du5lYQbjLn1cSiRyc5AZVdmZ++idj+k6pQsqI49KXFphsX4dPz/2hez2AwxOw4XiJuLDFHe9t5+nJMH/yqHJMoh31IIQdvT1QTcBGSr6wDbKlLIEgFpDVorfKDP+G1CVA+EE65iTqY= X-MS-TrafficTypeDiagnostic: DM5PR15MB1753: X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;25:Qof0IeZGQM6EU83beh1Y0vkit9GR9inp9t8+W1mNai0rDdCGXr10fmm5vgYSu54ClgCOY1qxCQ7RGma+3n0u/FFwbbb1zT/iUiMQH/hc0Q8CGRskpNDS16h/agj40zhzuFFAzla2f5Na+BpiZFPuqYZuzAwRR3DWOKcAi2m3zdkfIvbhrRFelqplTS9czQ7bKy6uzxphUj1MvYAaYlx8YSVFEwKOs+Kr9WebpBZrqSprDd9obyJ5GxUuhvSc9j6Rcpd9krx4QZKY52FY5gq38V8zJaKU5tFMHNmJlGNqNfQWAH751xSfMR3WT1ZVo14cXxeMW91cbgNt+z38yWZszKGlEPVkMjJbvYoZFkcossOwHvfqlXLK+fD4ETUi6KGsb47W0pMCOUS0zFBbVuM7fEXyY6nGmb0INz6vJIV4jH2HsZ2z69ux4LftHYyGrlCajaBIsI27VlfE30X91umLi0Xda5bvVrqBL7yqfPG6/s3nswzmjlWgQOnJAxjTMS77MBvs0RDNuhN/J/AshpgLQn9jGqRRrgCBrR2XB24Cx273qWCNqga8hJRDwcC+V3tdP5TNryAt2wNyOTwuOWXQ2fcxM55Rp26yy7MjYeUuPtYZn8I3cG8qUZIakD6s5Fr8tp0zf6QEAj79bM3uOB+BpVJxcFryFeFa6m+vwznYz0rnUzsyibmfWlXV8OSSK4xAflBi3+mxOx/pcsXWAL7yXQUPAGMkDj81xULENlFU33jaXxIsLtTCNMn4gDV0NUG1BymXFocdDLE5jRCZ5qXNqvWO/PIIpiHF1uM9JacuExY63i7/G6j34FiULQU9jZJkmxWumebG5UuMqfb5WdV80ZpVAUK0WGhcOtne0kmnk/behZcsGx7aHQDv6bfy3Bhk0ubSCp8aHWB5Qr4bwvv4yS7tFzuFQISnRzNbiNT4+PM= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;31:BN6vF4A5HQehw8dZBUoC/1mUoMO++QaajpIuj6mCk7l19njpIoodrHYaiswerzAh1ddiwR5TV6UdTrZDiD9ZnEsLVTKHrYIDP61DdBdfVPspKIbFO7E888nXvcTdhRZYELqvzeENfMTNkNyhiXbuWTUlVUwjL0STs6SDBnzu1usOh9WQaAPKonvhU0Bhfs/Xw474fNWpdXjWL4HF63iDK8GkG6Ic8mO5NRE5fLckcxJwqrpozAtnAwiDJ8J9VKhYJk7MNImlaydA95zJ5UEFSFUZ/VXZETNnDdLU4gaXZKnSeiX4fzk54K+RQqwFXuLINXaTC9cMMLROoEDMSzq4u/37V0I4RbFfMsIoIb+XrryvE2jkMfK6NHNVoE3HtllGUPuMyFsbahtc0rCOALMt2Wl3iMt4784kA1eWur+2cHQgAxzIbASmvIbhe1rS4q7mXpO9nass4TD3r5d2IjlQClChJ5NQ05SNCi1lMT6GR28PxIwzIOBCId6zRVOsWtZ6u/SB/u2Pi43JwwOn6SXDBQgqD1rN5TsPR5jqWvVEwp0L7+UzXUjkrOYu72uDjiMWn+M9weWz5R8Gtg2ycsPD/nRJTZSCiDaS3YJPq8XFHqewxS5Et4xRXnzHR9ABH4kEWBD879u7r1CZdkwwLt8gUV6ynM4tLJ5WkNhuknFp6fKLmzlcEnkqS1j0OXRfsGy7SMgj+smCplv7rVwMFW+c1Q== X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;20:kbg3N0k68pilciGJa7+2lSgu3jO4ZGGeakj7sr++94Vvl7IvFRcQ4ftnlq6+3dCPsYHZVnJeES8FIEm6sQ7xoOTiCyB/OTLMVBwMCg4OebRlD9oXhroi/dHQCReMRDGeuX0DQsY75iUjYplTPAP313lCccnIae81L/QilDjm+eieXBfhCFmWUvT/LwP475cAhYY97IOUITu70w3PEQAxZx1aEdSn3hXAc/cVkR7YE+NvV8dBlwPLGj5vZj+IxfjXn7lLEW+C6vYoUweWVLwU7X5157Ht5qjCkFP3qa5/V3NLA3orj41TUxeLjsOMc4tlsgD/jOIqzXCKr2Dpf8M8MNVEKBkJLwdTMTT6G7f91yigSyAvuuDPE6VFkaJmgdSY5+KVljv1iirJNcfQ/7Mcdmc7PcnqIdeAwNGOBUp/FniRsuPnwgV26LSEooVTt0sx7OCUX6msSYWNeMuoG6K+fUZKFCSFIgj0PNv0tyFl6fn3Gjt2OF/1N4qlG/9WafMO X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(81227570615382); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6041248)(20161123564025)(20161123558100)(20161123560025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR15MB1753;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR15MB1753; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR15MB1753;4:ccZMqMTTgi+uy52bK6Gff6LyLVKIUw4pVWbr98KbEL?= =?us-ascii?Q?oMK84NDBTI+TA8DaWjUUh3yNkhsI2j78jPTGrhftw/bZS74SWYUGeScIT6Xs?= =?us-ascii?Q?nkBolG+ZkRITTpsPPIhxL5kYQF5FQQhnpKP2u9ZS7lCQerdC8bWMGSqD23Eq?= =?us-ascii?Q?i9uRqKh7hRLyI2h4IIZXSdyoKxz5CM8DBpLLBu7M/a3EsM7Jl0QiXJhU5e+y?= =?us-ascii?Q?87FIAbYha+61rgofN/amkw1cFdqerdvBzDvVxwGUYIyLs4BG/jet1ezHPzUy?= =?us-ascii?Q?5kwtGn9rxo5OGqNQ5qsvTt7RS0sIoaQeg30SLHPA6paAiUhmEARU617esAVY?= =?us-ascii?Q?XqV4RLJuu2zaxfW3mWZgOAcuGtiaOAQcpBTJ4wbF/5WYyR+TaIufyEcOuC7X?= =?us-ascii?Q?gAEW8DT9rZce6snqXTKGHK0d9/s+zL8L8xcpDqdhKFr7bHboMG47sW9pYIME?= =?us-ascii?Q?MksmXtJvf6fogveVd3gRAQfQpZeIQ+fNTsi9gdXvBN/JoWrl9OyphQHiJ1Zp?= =?us-ascii?Q?3p/SEyaG5S3NlJ2R0zq94ZuLABFEhv2El6SyvHm99qzlTWk025BfiXstLpsy?= =?us-ascii?Q?fyVKraulE7ZL6Sl9UHODyEtDMQ28Noi6uCvaoPQZdvHxvKRc3QF+5qjIVj92?= =?us-ascii?Q?i5q0aPIGfewWG5DcikSn0GseUY2PmCfN0vvLuK8tTuQjo4TR5WsIYBo0RDG4?= =?us-ascii?Q?FBhlzWD73SjpwsVqva9Y7wfaezTf78vw1fTRHLlXbnq/Tw2Z9t13x+3pNqJi?= =?us-ascii?Q?kxjzfJm/kEpm4Vv9y2L2dxozQgHt+NGgst4qSiKEjYMd1SlR+b5Xv6NP3OvP?= =?us-ascii?Q?I1akbhzfTazq4GH6Atk4YsXT3w/5nf/YSZyOg2muMvtLYsG96Z+vAOrbRIwJ?= =?us-ascii?Q?3YB6pPtoZglVjqBda/CuHtyYG2A3xCC6A0U2uTK1f6unhiIcfGvbru36MVBA?= =?us-ascii?Q?EJUHSb0O1KDNLUzkY19PpNta02FpqrhdpJhzS6jME8v5uNyRacEVkMKf/RVz?= =?us-ascii?Q?fAiwBfjXOaB+bANpjrGZ0yPRE9TN74UJ48bD5z9vehQNrBor8jn7U7Fafx48?= =?us-ascii?Q?fmLhsHa29gEpq3WfnBQ2YUwwuQfSnijigc/4Y5G0am83MGEIXvS6HJ27kRjP?= =?us-ascii?Q?KXvXncXBVkw9dLB9MuB3pW8h2+vvKVzCzHs/YAjMKdeReKLLQq0Rb1xuLn6k?= =?us-ascii?Q?uV0Jw0ZdQav43Eohv4zwLGvQrQ9KPyZMTqE/W31fGWdDuOEVyrvX0Wxg=3D?= =?us-ascii?Q?=3D?= X-Forefront-PRVS: 03853D523D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(7370300001)(6069001)(6009001)(39410400002)(39450400003)(39850400002)(39400400002)(39840400002)(189002)(24454002)(377454003)(199003)(189998001)(6916009)(97736004)(6666003)(2950100002)(7736002)(305945005)(47776003)(81166006)(81156014)(8676002)(6246003)(86362001)(1076002)(966005)(50466002)(23726003)(6496005)(83506001)(25786009)(53936002)(6116002)(4326008)(38730400002)(68736007)(54906002)(6306002)(110136004)(9686003)(2906002)(42186005)(5660300001)(76506005)(106356001)(4001350100001)(33656002)(105586002)(54356999)(76176999)(50986999)(101416001)(6486002)(7350300001)(229853002)(53546010)(478600001)(18370500001)(102196002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR15MB1753;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR15MB1753;23:A7Tka4dA6PDoRz97wem51c9ZAHR9E1hjh5NrQiTrQ?= =?us-ascii?Q?qVlqFXQ78umt6nqLk4Xe5ksFualdMZ8lvNnDpD/QULxZM4VREbZMVZHRRDrL?= =?us-ascii?Q?eeMZJcKM9BN+ntzP1ow7aKgf9IiNtu+zLTT6xEAMf9A/pl3x0VgXx+ewd8LX?= =?us-ascii?Q?4jsH26kMdWMKeut+p7jiaXVdn7UMiEF4uPBjWRZ1zOyHha+TgGnaYbmwkB/U?= =?us-ascii?Q?vNTQhyM9+DTQ/xEAEccz5ryG2s7o+hn40BlvexAZBYYPnz2ydcM7odhR7N9e?= =?us-ascii?Q?Hqy+orSgA8jhga8QeLGE6kfaSsBb1edBVZBiVwgdPfwSGo3VVKv0fMwySBGE?= =?us-ascii?Q?pWIaKXxr55tXLx1NC7NkOR2yyRp+OgggeUi+cToZuO/mGpqx7kq2HJA0n73i?= =?us-ascii?Q?hla1DhI2jtuTaJ0zTtxTTvGNPVtz371ck27cnGWmUtGz6v0PYY906aqaBHdn?= =?us-ascii?Q?MBVRuCmeGlgDBNdg+UOGca5dJFuCyl6v06SsIl40bzWThotXab1ccZfdf4Jg?= =?us-ascii?Q?fTmj33cm3ZpYIKaH/KCk37SoLBr3986FxqUmyUzkuAFGa1OwDMlMM0eWAVzB?= =?us-ascii?Q?a513kECJdTAB60GgxmTE52vq9x+aaEviPBOMyrypMGzUstlZCgq9k4PcS9P7?= =?us-ascii?Q?JkCSQPpETkbJQbaScrVl0k2CLlozzmZZ9Lw8Pru+mDIshfWhG9vMljv+iX7A?= =?us-ascii?Q?RZQqaCKTImg1w6/CqOT5UrU0xBmrHz61KsmTxoYeHxf7aKp6tdW+gmPx3yIh?= =?us-ascii?Q?QRQzgBKNk87TDz9olyBuiZVdlAQImudCzF0z8tJr5E37gyGTUkbp7uyxN0N9?= =?us-ascii?Q?6HxuJNSm+RALc5Qkl4BRsdhWWxBrt/jmX3dACKkZ4tJq1ZHLGzkbwqEQaSdl?= =?us-ascii?Q?K0v1KAdvUbnFuLQW2xn+2VN3k819epsU48eUsMgTjgPOX7Iq/nilQX8VYuDx?= =?us-ascii?Q?6F9/UKbZuqUlMAGtb5uCojij2xb17M5shQ+d9JbRTCWvOPixTZGYx+fv9lO2?= =?us-ascii?Q?4UzZErCfGM+8anXcn9httHdLmsTfSawg6QwtV8X2i/A6ssDeN+T8HppwC87b?= =?us-ascii?Q?iHqFAn4SCTnRj94y/KX1uInkhdlz5WvNMNqLneGH42v5ht9CSkRkzD1y5PIZ?= =?us-ascii?Q?IXhlgis1EqW2qONArxZKL3IP6NrhoakWSWwFW8UCo2TvFRzA6IrA6f2RLly7?= =?us-ascii?Q?ArV5aZ7vLp/RcP8dSA/plXYyA24Ekf+tE8KoNWK7YUNtkJp1ckbLcGLsImbO?= =?us-ascii?Q?beFjMkxhiQqvgAgeUKFnJ5Tm/bIXi+/wxKFxo8r6uB7YYbHBFW2juTAw3IKC?= =?us-ascii?Q?1JE79WvgZhOYx0uoOIfCBU0DQ5JB1AO/ZYWXNZjmCpStscwZ9TWnNf0Sa7tj?= =?us-ascii?Q?pICNkhraKSXMbEcYxuwPHLSC6sF/nyg6Tpw3ynbrBlUbJRCDfBIVcdxSvhm+?= =?us-ascii?Q?je7zNlQhahZ4G1ex8CpveaAaYiYJxWbqS+TEP/WF+pQp6NNdx6w?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR15MB1753;6:qk+UxPOzXfQQfnmm7Q/DYLdWhAOCeUG+HJl7xb6MvK?= =?us-ascii?Q?vaoGGhG2xx4cj78N+17i+8lPq6Rjh/06JPWzb3u24wgoWs/3kblVMvoU3dnB?= =?us-ascii?Q?nD5gmEl5YlyWJJMwxI4GG4uHNRthcnj9Qtmk+dsy2z6mLPqvVAi12PYcW5Ni?= =?us-ascii?Q?sR1S7tMiCRK5OW9xhMUNtaLXVCaZTpIvoGJmYWtJiTCMMJ4hqSe25BEvHkmq?= =?us-ascii?Q?blvcbxZ/G4Xdq7WID37cklGGg4XmxYnTUae0BFf6JYa1dpM9LMldLJ881IXx?= =?us-ascii?Q?ANg/lsWVZ9DPt5WeqMAT5QH/O1SOX0aZyKoP7qCCysut3XcNZE4zYRe6brwz?= =?us-ascii?Q?fI5pfGLBYgYh0yalBCckm4aqjf+wWnfC2b9oZbyJT0uDHtxxA/UJ+cqZL/xc?= =?us-ascii?Q?vekjfO1x+g+yWpTUZxVaK0PR7eGlbloa3M6UOK8h5ChXC3rj20NzS6wlH5uD?= =?us-ascii?Q?kvDlOVvW7SjGY/Lm8dfG89pCnqpD8DZnnFljyFQfepmKIDU4nsA6LZ+k94//?= =?us-ascii?Q?7YqL0TizYisugeHkSYw+mxOZ81K9ePnpzssf4WoCkM1W79vF6kuNSVWLKoKX?= =?us-ascii?Q?kvDON25E6VRCfH52RATlo3dTuA6+zHOx5HPGYb3pC27jrh+pj7G30MRGZZVc?= =?us-ascii?Q?2DQ+2ytFp5DLAjNHNkgTSYKM76h4pI1oC8bghs0cK2awJQPr9t5ZFqC1lKyF?= =?us-ascii?Q?T2ZkCsWRkX02hQL/hdeaQ6Pkz4AqY/fHycSUAt2NQEEf12dNgwftnNqIk+ea?= =?us-ascii?Q?JxaFrmx/rWyhyafH+i2jPBjDTIL4r7fsH0mhaM74Od/WpjbjtIjdJhnmnSEe?= =?us-ascii?Q?hrDQbbb4stl50oLBJfAJwyf6MZthYLEJhrqyU2zC4rWRJ2z6gvwSWYzrlo0j?= =?us-ascii?Q?OK92WwS0QPqvHF6Cm9AvyLsCrR/BbqezBcjyAiRKliiJMx4xSSq3A2VMNRyI?= =?us-ascii?Q?S/R86JmxwfSPYh8oODBVP2Kpz3Ixkwl5GxM5VsFtGEKfMKvAza2itmgAnvjB?= =?us-ascii?Q?o=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;5:9LFPwmQocmLOCyWu1rIgOsefEgnCKYtNbLjUP/46Dkc52VAq3HBzTcbUuSICjtaYDz9E2kG+9l8KFmMJEU1R5jdpFjRiWid2fXuiU34Utj56RI7ymJF4wRgpZiNw3ewSW54mwCLuFK0r70aFzntBp7QQvyPbODJXCKrPS6SSqGIvJimZB/1RP+P1ikHEDmwhQYmFZXYPoeVhJ9TiWYR/MoF0ing7olMeiuMp6TVqHenAAp/1bNfqMDEKOan/O5exGBLo6bZ/LyiLNkAD6MKCNZ41KhIuFwYLQeJskayRw2YotE1xDWcp6FrbjXBpOTzaP9UViujaNCeBRQlkioBRcSJmIZz6oJD4EsUSX1NojPUfZVR18UiWlUkbTjNCxfrLHAZ8MdnuisIbJIARysHRKJRXppc629bawmC7jeYBBLG6d+Rk4lEoL3rLF7PrPuXhT7LeQfWwoYgvEGb+dPY41nPiGadum7qCEs0WuhFjai1okxz+Kh48L9UA9k37m4aB;24:hwXJBprcErx+v0Htpq6VIv7PqKaeAUTyXU5vr+r2zEJep7BZ1YDo4CS2lM0yn+TmdU0gBmo9eonaestrz2CTBswYW/F7T5M/S44bl9aj2Ak= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;7:NQ+xErcF9LYva0L3nmNsm/TLUD+ufxt81d3pnd/kD8K7xvcM2obyc6yULc/AMhd1ON2Z5+zjJm2thOKYEDsjZpvoDMQaPJfdAcIf3l/Alujf7lHRSYT2qOb7TJOY4+tNEWKj/1/ktDDAFRLtFcn3y/vR86Vd467eNZ9lFgMpcg1odM9buBEfZeaxqdHiDl1ZG1O6uK6w2H6sC1c4K+IdLTBcVoPJrARY5QanLovsohwS5qOUO2mjGEJ7dYhhMl9pyVK9glchy/nWgww6EYLl7d9/vSJWY2CjE9IRZx1utr0vQ8dr8gKmH3+b/KpTU0GPK5IfcxnN3MIOLegH12eqW+eFz+Y1+TWxvK7iarG6iDV6jmglHCifJRANiz8vTdmxiYvHfN8opm2AkSMVERLADEcdArsJwGwSo8aCQxcJ0xACqRpUwK3b6Rv4xyikcjm33e0GUMofPUi9Ffcbod+DKkIP+DwIkUBNtCvnqkghWwkONLNs+wmNjcy34n4+16l2XHxj8odr0K4b6wLkZ8FdOiaj3xPNv36RJ+LRVORlZOnJzU5rJE3fgL8hEFkYuqOIqTjm/m7qf/ZtBKIFrMJxlnDpBK7Ok7zI1GAoRO1yUH5Zyd+N2o7zRDPA5ao8WbiS44KGZT9R5Ji+NqQiKJ4jUJZ0y95zncwWvZSO8bvszmYd0LfBWxc6YE8sZ/AQKH+IzVxjOHC94wtBTugrZYZ8+m7ekj1aIxsGp+ZuYN8R2VIkupyp4RkwlMwMmpyiBONlIF9rHzZ27GRlc0JdqEFTVCKXNAcrCUpyabVSM9Yfgls= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1753;20:496NL8cdGo1pmZRijO/Z9YpF7CbaLWYm5e4CMjwHSB5H0ryJXj3anK/fjwNPPT8ll1ms/2N6vJSt/T0cG8Cklnz70K83G63qwnZvCDpczbtLfgq/BBXGWxOdpAY7pe9NYx9nHn2V9egucfMkWfk2tDk+qsfGWPPeYEuYTdt0MYk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2017 18:00:28.4880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR15MB1753 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-31_06:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1823 Lines: 51 Hi Paul, Thanks for looking at this again! On 07/27/17 11:12 AM, Paul E. McKenney wrote: > Hello! > > But my main question is whether the throttling shown below is acceptable > for your use cases, namely only one expedited sys_membarrier() permitted > per scheduling-clock period (1 millisecond on many platforms), with any > excess being silently converted to non-expedited form. The reason for > the throttling is concerns about DoS attacks based on user code with a > tight loop invoking this system call. We've been using sys_membarrier for the last year or so in a handful of places with no issues. Recently we made it an option in our hazard pointers implementation, giving us something with performance between hazard pointers and RCU: https://github.com/facebook/folly/blob/master/folly/experimental/hazptr/hazptr-impl.h#L555 Currently hazard pointers tries to free retired memory the same thread that did the retire(), so the latency spiked for workloads that were retire() heavy. For the moment we dropped back to using mprotect hacks. I've tested Mathieu's v4 patch, it works great. We currently don't have any cases where we need SHARED. I also tested the rate-limited version, while better than the current non-EXPEDITED SHARED version, we still hit the slow path pretty often. I agree with other commenters that returning an error code instead of silently slowing down might be better. > + case MEMBARRIER_CMD_SHARED_EXPEDITED: > + if (num_online_cpus() > 1) { > + static unsigned long lastexp; > + unsigned long j; > + > + j = jiffies; > + if (READ_ONCE(lastexp) == j) { > + synchronize_sched(); > + WRITE_ONCE(lastexp, j); It looks like this update of lastexp should be in the other branch? > + } else { > + synchronize_sched_expedited(); > + } > + } > + return 0;