From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935293AbcI0SW2 (ORCPT ); Tue, 27 Sep 2016 14:22:28 -0400 Received: from mail-cys01nam02on0131.outbound.protection.outlook.com ([104.47.37.131]:39509 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751496AbcI0SWS (ORCPT ); Tue, 27 Sep 2016 14:22:18 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57EAB8C4.9010004@hpe.com> Date: Tue, 27 Sep 2016 14:21:56 -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: Oleg Nesterov CC: Andrew Morton , Ingo Molnar , Thomas Gleixner , Stas Sergeev , , Scott J Norton , Douglas Hatch Subject: Re: [PATCH v3] signals: Avoid unnecessary taking of sighand->siglock References: <1474979209-11867-1-git-send-email-Waiman.Long@hpe.com> <20160927161659.GB21423@redhat.com> In-Reply-To: <20160927161659.GB21423@redhat.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.159] X-ClientProxiedBy: BN6PR15CA0011.namprd15.prod.outlook.com (10.172.204.149) To AT5PR84MB0305.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.27) X-MS-Office365-Filtering-Correlation-Id: f55d2ab5-40f5-4fa9-480c-08d3e7033586 X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;2:mYhpdWjv46daI6DB0iugV1RRl6RRsId0t6QnhOg7f8JdSPZ/CtSN6ztC+J2/CK7iiV90ZNxNKFe1g3HdzGxgISH0mh9Oryx7zFUUAi3ZDRnD58uyVoUc+HoPjr9+Jb9eqT/yTWZfUTEPwo3KGhY48SderO1vn0yMS6nd1P841RLojlv2jcsf3aDS9GZUw/j2;3:uQrNkGOZ3cYmMpuZuXEpdPw2JH3hRWeqhdaA1ZkVZ01bLsQAGySIvXmSpKjhyAAS5x9hxNUAUhcxfENjKKI7NqILwvkkD7axyCVQW07vzbHORMi7GGzWYEczYAVjBCPU X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0305; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;25:32QYOinM+XIxhq8QwkGsDA2XJLqLAQGR0FHDn7EuPe0B2pWwBT0hqYNpwG/XvvXNwwwUJpzg6RVgEmJv58OAJidylApBXaIDso31KzI1IXGlzREayBz5pCK/rcFPJgwcuUYOZueeUeVe9GPOVXuia9AEig+SeiZFN8hmB2KEbSaD7QhGIdj66V6x7fF3luFWILThFimOkd4txpVLiJp7qDcOv6eEtSusD5oi+M67e4fQiIgYDArzZqfrHIju52/yYVSLxgsbHg5vOwwupbYwrERpPGSyHcOXKFx6V44laF2MfrRAdW/W6/vnYAWE8vw+9oG7v6eqS9Dfw/Qu26GNQW+DUTXBN3N5Tz7fGzWwSCQSN6eY7V7sfKmk/Zr6tCl2ylIFs7ZLLTkMvcjFVotpGZyLPRHuO7Qf+AkeUYJHouYa38quHRoHW1WyGp9oPjMoZPhY2puNBYtmzU31lMNtsQVLaLk5wIfYdbtWH4WBleRVtXGjYhQhz3XsYnZnHVJshLhKLyX8c1WlonJLwWH1qqCOzi/mBuT0beqZBKmdYmVIBrOqXjOSC1v2rAA8NAZAAdf/5Cvjxep6odx1qFwh/rqjN08XWIVZBWb5Ijy2bXPpTtg4Wo5ccCaCOEXrwiTxe0e1ZlYs/HSuIyTmaTsNBnYBmIpmSlycInr7rJlgvdlxi9cKVj4bO4GeOzqI3eKsloaDly1t6S/V4akQthW5Ew==;31:vyM03O1QsSHNFI+ykcyCi7vU+SGjLWTv+cemePhxLHjykghyz27EVaB3+NVz7qmnIARdB6OmrjAiuV9GEcpaEo8JIncFPJ1P2duEWXDwFXkcsl0njyjiwSaxKnckx2f2ohZR2dkGhRxV8So4/QbzGZZJBCxu3guDkv5TVW1EOa5lhjCuN+3weHv7HyjcRVplEtJ57YhkCsQoFwgDjKLqibm4nIZycHfI2+PcC7TZEY4= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;20:2jmgHabLLJBXrQlu7H2T0EdTSCsnM2C5PbECxf23VTb2Xw19vbaXfH8FF0d5W3gqt/dVoa3nhH6SooCph3Qn9TuoMVGc66ZZ53bArLU2CUS2ZG+QcrxKpLgpMsR9C0yQwXtnMOwBQoZjBrLzf+/HGe7nh+Ko4GBsUHCvCjQvNZfz4H8L8FdRFiEBMFEGbTs7fF4cju7bcmjbswLAqjmik8IzpIYWm6whftZiYlK1lflZkvon7JWDBRYcaoocwphnPRQpzzod3SuBptOWE/KdqmEGS9rPlJoAG2/7IpVul6zijZvi8FdCTfp/2V0wvvhWa8XvGSx3erGt9xwtNGcwBPZftTkJ13b1D4ZLEk99zcu9ZrH5ZghT1jr1ti1j6O6Gq/IGWbNCsButj5kHV+MUsP+NPRRWrZBhnJwH/cfdTIaCT/t+Ai7T30ZUM3qzSfXM25Y2IQEO+tl2s+4AcrlGLTT82yEEW4/13g0n4BvmM5wFVthwlVSNmm3NB08byoSz;4:0EPoNF4k6/wK7/Ij0vNk8e0kPb0ORB7Gdx/0Bf6b1KKVo+xA/LSB6c791klignBOPbO5IOpLxCxi5bh1n4xf3AmwYTbTrBTdxYXxgzO2fdDXD+0O2ggi/zfjcbi1K11YDgofDWOd/iW7pYg0gdbr0SSCp2jAXqgl3RrXxkc1fWFs5XY+l2MsxmHsSiFfdiEJcCeYzrBK2kvIHtf3rjeF+VDyBd5SvvNUgLmYzewa+qxzM0UF/X4cAqyaIC512sZ868y1lEy5UWs7H9HlnJ7JDESYPu8DPJCB5154iYS7oO42s29qj+rnjSbu1f6SwCHiEYe92rFfetv2SwqMrWy1YDOVGOxRFBsKRCfKLsqVigeZ/y/Nhfypbqcyb1wfYtmquAv7lyG6P6bzglbyAow/lw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:AT5PR84MB0305;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0305; X-Forefront-PRVS: 007814487B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(199003)(377454003)(189002)(24454002)(51914003)(3846002)(7736002)(305945005)(6116002)(2950100002)(6916009)(117156001)(7846002)(86362001)(23756003)(64126003)(65816999)(76176999)(87266999)(54356999)(189998001)(50986999)(230700001)(50466002)(101416001)(68736007)(36756003)(586003)(59896002)(8676002)(81166006)(81156014)(5660300001)(33656002)(97736004)(80316001)(19580405001)(19580395003)(106356001)(4326007)(4001350100001)(105586002)(47776003)(65956001)(77096005)(66066001)(65806001)(110136003)(83506001)(92566002)(42186005)(2906002);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0305;H:[192.168.142.134];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;AT5PR84MB0305;23:hAtNI81QFOHBPziOefQ9eoGLnMDkbig8mDzKynS?= =?iso-8859-1?Q?LdpjjlVIAuSgv9H46Hw4ysy4/CAGxioh0O0IPd1tM9QqntUj+lCcFFxNIm?= =?iso-8859-1?Q?+qm181ADqNpo4EQb3WL6xuZ64DhZDjYXwbjvsPJm1JzBg4I83BEe/jXCjO?= =?iso-8859-1?Q?qW5yXw2289qJccxn9Zuisc+thIOgvOhiotLm8EyWdaVDKshQ4ZCL/OUT/N?= =?iso-8859-1?Q?Y0Q2vWUsKat383JObIsV+kxtHslpnl2ckl7CeY6L5lkmXlXcE3YS3iOKrn?= =?iso-8859-1?Q?oC9VtjDeisVLdp0rdsqD+jfA3/A43UZbPaNNWQtUFFLpxeQjkZqPY7oX42?= =?iso-8859-1?Q?tHzzqJNicPIIQKXIy8MU+Zp4FkxPQ9GuIgPrEAJUN7FMVsWR2AiHzGYNHG?= =?iso-8859-1?Q?5i++oZ5HMVziJi+w6F7Hrnq3KCDJfJTLHfAIqBWdoEfAF11eP40qFcFqou?= =?iso-8859-1?Q?eh0kGcOrd6+np/RHMwuKJjn0Dmex4hCYGxa+neU184a2hcs2yEmq2JqRdI?= =?iso-8859-1?Q?W4Yzln42TBAXerkXM3mup/uQNBfjYjKg71f6bmqo3Lvz5xmWZwcjMplqWb?= =?iso-8859-1?Q?ksVESBeUbegYEFlklOk4cRUour3l0uHQJ2F78Qd4m5m834H7yXXSnY6CdO?= =?iso-8859-1?Q?EnTq+BHvBaQo1bhZG5WgoeuXS9WkdpxMgzVinjDJN8o6xw5wGzEoKZRoQM?= =?iso-8859-1?Q?rSX6hrps1WkqAquiLT4qHLFCFnIwBOXc3H+BNx7dlPjLqFgs5wknQsLjkP?= =?iso-8859-1?Q?Gbe/4qWbXPk6dzJN3F0F7rD8lHoH4uhyuBGQMgleMnBtTb2vCz222nhgzm?= =?iso-8859-1?Q?22CIj7xdq+4xWUUsHNkxYJLTDHcHL50RiWnaXEgu5YYYMDniNckaSmFbXs?= =?iso-8859-1?Q?uJB48Vzyiv8FFWQDtjD45oGiYR9Kz59GbpOCZWj1TTfuK0Vkibx9uVP821?= =?iso-8859-1?Q?Dlm2W9TlpsuPawKIOq+PKHVVu2I+ZNHP4Yqx27NMxVxbMR6EgbrYscLkBE?= =?iso-8859-1?Q?hLQg412HX39FW9zbhn719eQEj30BIdlC40X0Htab5WT/AlxPFucrJOU334?= =?iso-8859-1?Q?/o4j210xggFMfhjQehBZcqXmIqNu+OwK7xlDL99pPmNzo1r90S4oNuzHhn?= =?iso-8859-1?Q?9sskI9LtALoctbVuGiOU90c0ZFtAZQPjm2BI4tPX5lyas0z1FF/ecjyOrO?= =?iso-8859-1?Q?EoblmlajNsnnDDYTjHWLapkDC3VlIubjT9m6oJmJjAxm6+5vKV+wyVn4FG?= =?iso-8859-1?Q?eHYnU6B6/blxNF+MeBIRqBP/WuxzYKjx3WuFGsXlq2F94CvQ8VdlslVSGX?= =?iso-8859-1?Q?LquuJrAivDROT/h9uwIoB0lTtalwRkvLlFyRgly0ZkSHvzYOAINwHfYKO/?= =?iso-8859-1?Q?zGevBKAux2NL2WcxS0qdYoYTsa4ne2N3nfzaHJ6wScvEXmi8lsyQJ2Gppy?= =?iso-8859-1?Q?qFmGKIPxxltGZQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;6:TEuN3wcJbXORn1fbc/g/93keiYfRVY9E/EYX/kIMShb+lFDdr7IE++tvL8xs9b1Qh8EmlS0noTb16J8Uat9SgQrfuEOdqnvzWLQ0toATX5zW9XJ0NEDZ66KbDvGjupYcpnCwEJbSTN3jzfdRxl/ijgT8Ex3dzWHqiKoYC1ev+J5XXXUolfR440hiDA8VMABJGAinOlKPUo/D/WJKdGlEp3xDofcvkLxl/wUT1UhuD/dTmvhucMCVTRrx/lQLMn0aANxJanY9JMfN1w9WDFWb/4Y+1mFJk2g9dJ0p1BhIyckdpezTzkcMJI1zQvP5YeAN8gUWWC7t6OQEpWj3Xn1TDA==;5:/RPKd40injuv/T/AmsVY7+g0vs7bNnz7oNAQqI4GOFDt2CrvkueR193cN8MyLw1nbe2ngX1dkZE4hOnoTRfGhdXZB3jIWv0QE9eyCiTul3hPTz6Il3x47im0kwcJo+HKZ45a9z8k85BXC0uc4sCSNA==;24:9iBHFzeDMaWWDM/keKxKt/su1SCA1gYnN43O2aP/YmZZ1tCCyrqqonRSomPb1OapQCO3TMwfD8Fj2WjGqk+JwWGw0MtGLdFfTHDfHXme1WI=;7:QrT+UsaClAlB0jk5plc2jFdyokAo6YQBpqMaZK6OgxDGAwk6iwrDq7fiZ8FcDR8G6eF50f60yVd5Cc/YEyRD/+7qA8cF6mLE1SF3M1orv1GKyZy7djtDBTjfW5PHZiqrotnmaYAQtmjJrU3o7cS+gH+0qeEdfGBICLeCQ2WseAWoEju3bZfxsGZnMbOjU6CXVstTgPcHQYK50JnrEB0ECQ6hplZg6VowpAvHx3cONgFPKa07Vt8VvqgM8rW6081OJd09pMAxgmy9VNdF6/yKlDGPGmHGJbyKjrruEt/JFXi+oqkqRBn989hpan/wT8j/ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2016 18:22:15.1196 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0305 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/27/2016 12:17 PM, Oleg Nesterov wrote: > On 09/27, Waiman Long wrote: >> +static inline int sigequalsets(const sigset_t *set1, const sigset_t *set2) >> +{ >> + switch (_NSIG_WORDS) { >> + case 4: >> + return (set1->sig[3] == set2->sig[3])&& >> + (set1->sig[2] == set2->sig[2])&& >> + (set1->sig[1] == set2->sig[1])&& >> + (set1->sig[0] == set2->sig[0]); >> + case 2: >> + return (set1->sig[1] == set2->sig[1])&& >> + (set1->sig[0] == set2->sig[0]); >> + case 1: >> + return set1->sig[0] == set2->sig[0]; >> + } >> + return 0; >> +} >> + > OK, this memcmp-by-hand matches other sig* helpers. Well, perhaps > > default: > BUILD_BUG(); > > makes sense too, but I won't insist. We already have a BUILD_BUG() call in sigemptyset(). I don't think we need more than one in any given source file. The memcmp() call will be more efficient for long byte stream. For short one like sigset_t, direct comparison is likely to be faster. > Acked-by: Oleg Nesterov Thanks for the review. Cheers, Longman