From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751651AbcGSTBq (ORCPT ); Tue, 19 Jul 2016 15:01:46 -0400 Received: from mail-by2nam03on0105.outbound.protection.outlook.com ([104.47.42.105]:14982 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751207AbcGSTBn (ORCPT ); Tue, 19 Jul 2016 15:01:43 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <578E790A.6090403@hpe.com> Date: Tue, 19 Jul 2016 15:01:30 -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: Al Viro CC: Jan Kara , Jeff Layton , "J. Bruce Fields" , Tejun Heo , Christoph Lameter , , , Ingo Molnar , Peter Zijlstra , Andi Kleen , Dave Chinner , Boqun Feng , Scott J Norton , Douglas Hatch Subject: Re: [PATCH v3 1/4] lib/dlock-list: Distributed and lock-protected lists References: <1468604383-40362-1-git-send-email-Waiman.Long@hpe.com> <1468604383-40362-2-git-send-email-Waiman.Long@hpe.com> <20160719050032.GE2356@ZenIV.linux.org.uk> In-Reply-To: <20160719050032.GE2356@ZenIV.linux.org.uk> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.31] X-ClientProxiedBy: SN1PR15CA0019.namprd15.prod.outlook.com (10.163.200.29) To CS1PR84MB0311.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.29) X-MS-Office365-Filtering-Correlation-Id: 3efee148-a13e-43ca-f9e8-08d3b0071ebb X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;2:7cQ4Ar/W6PkI7gMcE55TEdfHyG3NZTSccIbvi8MJ1vylvAOxfwK9eNDUDwZk8in6o0t6y8ay3gkFCt9sbquuEyZog3lQ91uDp/LbZ6qSM0ZtYoNp2AhsXnBVBX2lggBhH/3rGoxX4bsWW54+RU7O0jP/5TnuKduu57Rc6ViX05tZ0cmqbZeELxFJ20u9VY25;3:tAPY3hBtfuxrRVMaiTspbU0Sfcphb1ewLch+n+OxGubmIs/nXXSqXO51Z2WoUn5zt1NILLyq5WG+GGVU9K+s+8y0AXQMeslEJi6yusgApd/K+gzKwWPrE/MGPQq0WM4i X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0311; X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;25:wpqrttcP51LD6GgqknF64aVpimheRBiyU2qRRFMETtAObRrw7IyTr3q7Xh3KwqXQL7DWeiOMq/JI3vO48ZiVpMdo37duR6sN2RvbOLMPfZoeDBWGXo6KIihCq4lCNg8dpMBnddn4ULFg5WPl8iYnY52XFcOvFT6AcfbsCKw+J2SDV1EWQSvZNb6DWEz26W+6HY//2rTgpOWTl2e2kwTXWVN7YeoR90jL4qY9HW33DlgueEj3U/vtUcESF4LC36xA/GLyEx+2CKbCa7J/FFu0VCxIFqlfgqyQvuddAuxGvXpPm5ZZQF+YXIQLuRx+MELLWtynBC/2x9XsEHY43WjOFnV96JTki1myYFNRQCIVLy0lwLzAL2uaut7VaNZAvswCLfe5AgL0FczogXCdYRxDzN7KHbgAhrZbL/xpK6CV6Zv2pZGBG6ryAhrbot2h+HYfKmxGElyGgu2hNYq7x37Yax1QCIfTIQOj13NFzikOutn3V/17f4sVNq7BFlGJTwrBDmPU+Pz3LHhRIGB+dQ9ud8wE2xAw/kb1BPBiJHX9fYa+VO7LpPvXhf3QO24FovEtf+jdim5av5SwSwuKxWl3I1ULiEwPxOajemvoIXzmZh3v/mzyAh+SLeWJsBHZcz0P1+RgvGqK5IIxtcFP2ZQVqe/uBvW1tNGKIInqKdqZdGk3xPbQB0r2++4/tmB5KEc9jfZEc+Sk/MqbSs6H5cjNkINmIuhl9nAmT5AgnrO42Fc=;31:MAfIy7QeleI5uZqNtZoIabG3jyljtXqa6vOqj12qH6hSHkZ+I+EiDdsSshs6EENFiFz1S/pRSGkEa7o3nZ/34hI7xYHlIqEFENgUMVyAj7HU7XJ/3TA0SoBVT51G0iqnDNldWgZVI46WswP4J5FJttHt35OptJZmItzXEVNrhCzddws12c9R/mS68hOUaELAP4VE/5aVZrIPPxUksdRYqw== X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;20:b1i6GE1M+/LYcZZW2sORbydYO3EpgK8sCN9H07X72aNMBo3ecuEwtQ8ol6vK4fOHG0Dt8XQUy7MeAYgc0SfQwuelNHlmGx6son+H3Vq1Xcmcp48PSDbmBAcmO6NV9VI2kosw4anfgQIm+sTienf/rAzfr62UBpEao+WoPet9THXYAL2F1kJhckn4G3NDYglyGUkGWwDbr6mXfejEFT0c2TZnzsDf8/zoSqJqqXzq+2q7SBq4qr8x3ias9lBCL27kh7HssbjltIcje/rwFBIqncPYAipDs7X9qfH5CKB1xGvd5EVCx2SAaXI3ZIU1hZkrmz2489pv97ipDPe3qPHq0HpkP452lelGEcBGgZj/K9yAmFbCXi1QJJsgg/BnBQ8xcZEoouOml+vcDz4OphNr8a9B0Kirtdi8jP+uc34w2VqNqNNcnT8BD+hdeGpjGBHPaSPgNoultT/jgBtigYrAWiLwuYWLYD56z15WCch6nh+pXqHnZKScvm8eEm9gDqmw;4:qCTPKvu7Bd59gPmLNjGxZp0F9m7CjTf2uQn13ulOITru36yWy3kW6dj22NWb2udJ/50CA3HWvabvpA/zjhgx3QGYG+C5T4MAy+ChGjqd3mkgH35Kp2sMGUJr+W8vXspQnODvyHsfwOKMr4KvD8+Rs1XKeBIajIroSwgljFx1Z9xPFKrV0un4Bu0sopc0L3zhPqfcvjJuaeJsTFT2GHoJBtS7nU0A1nmZuEH5MO4Sa3JvLMEas6o1tZlzbKFe88fLVqE3PBpho28W68nvpehTy8YARaKFZZP3XVL38/ETrxk/qku2s0F+ktpnjA3eghiD/tthARWi+9LitBEZkFoYxFllDuHUFk1nQzNbTlgBtBF3u4wxKEoATkav9v/pjNpPDA4MEsKBXbaSnDUIG42rHQ== 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)(6055026);SRVR:CS1PR84MB0311;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0311; X-Forefront-PRVS: 000800954F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(199003)(24454002)(189002)(377454003)(2950100001)(59896002)(2906002)(33656002)(106356001)(117156001)(68736007)(65956001)(66066001)(65806001)(47776003)(36756003)(77096005)(23756003)(105586002)(64126003)(4326007)(50466002)(305945005)(230700001)(97736004)(7846002)(7736002)(6116002)(3846002)(65816999)(83506001)(586003)(87266999)(8676002)(50986999)(76176999)(110136002)(54356999)(81166006)(81156014)(80316001)(42186005)(4001350100001)(19580395003)(86362001)(92566002)(189998001)(101416001)(3076002);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0311;H:[192.168.142.172];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;CS1PR84MB0311;23:wHRBN76aA8FlTZOJLRQ4RrL05KPlhXFexEBAwin?= =?iso-8859-1?Q?zK8zIcdHK38JfJL/ZBna6h4+zxMhdHN6SwioFFAP9QoD6BOsWMjNRSLTBB?= =?iso-8859-1?Q?K9L0fm2DiN/CbDRfnhtJUDnyJjhClCoKH8KKCvBMmOfhBRfXhUTM2ee7YW?= =?iso-8859-1?Q?lZvlaDqO2pCQzuqYXNAgDTu+7tdlr6q1JQ0t5PY6oiHC2gayRW8IDNXXPq?= =?iso-8859-1?Q?NJrham37L590SfoHd+EqEOwiIBuLGoIy0kfSwTCosEJ7+G1dKzxC8j975l?= =?iso-8859-1?Q?3Bnk3pgKiBozjctfmXOsWX1A8UfEwGYk3zpRqGHBawxK0bnnfnxSFKn9S5?= =?iso-8859-1?Q?tyOhVj5miTcirSJk47cpukzhosS8hxxSEjmpVOHXdTc9MEFlYemLT04EOf?= =?iso-8859-1?Q?fbfmSd9tpmSs7BbNwBuHsC8rNJlq3IvAwbBrBn1LjF9ESUXinJxUEK1fpp?= =?iso-8859-1?Q?8hAx3kot/hdclR484PHm8ASPHYSmbiLLQUnz5ufN0zuI801H2U2GO2h/tl?= =?iso-8859-1?Q?mN6IFnF9NwGYhJXuf8Awkz6kCTfbRnr9QXvfiMHsGHfIxdZL9MZxaanACf?= =?iso-8859-1?Q?Jgp6lLZKkygYoxNhTTNObrRjtH/3FZRnvAsQYJZxfvhLPNBExS9NDl5VlK?= =?iso-8859-1?Q?frkUBP2G44i+Ztu30gXpVMQnGvMeOooRIXzLGNxyP4yPUHp7Mfg8RGvFyb?= =?iso-8859-1?Q?l9iXoToux/v66Hqo6ztn/Yq4n0XkA75x0xpCmfWG/3i0HxDd3cHQxLDcG0?= =?iso-8859-1?Q?ib4cbZ+EkSqPVSXPYVhyOzzhwxKZol4Z97/kzX7Ah6Iiku1Ir/niIQgUqc?= =?iso-8859-1?Q?QIyagJsChB1Ct1FA+SHDe4sh9yHHubYn97rDqPGbQhhOlmZfJ4IHvHpAX9?= =?iso-8859-1?Q?HZUVsKAxNZC/87z0jBXZo+LYJ0OQsureWGLUv/DQQQXVwBmhZjTMG6+W9f?= =?iso-8859-1?Q?B+2sEkpRcuyVOVar0cJOfWOsFpzP0eJDciEHIhHW+Zw1zfXSdHEeOkeQjM?= =?iso-8859-1?Q?cSOA0WHpqctD2dC4lSX3qgGxPHTRjUkdJwQlf0E6a9rqVl7K/X+mnvk9v0?= =?iso-8859-1?Q?guUNgXjRjDpQ7cmrzZm7pztO4GRei8hbdkvsbhJe8+Uz1pcoj1E0NoU6bp?= =?iso-8859-1?Q?jBzlXidcEguC58gW5WgA/irI7LFVs3pkZOKwj/3b83uqHumhPqmIZ9fr7M?= =?iso-8859-1?Q?y2Mr6ckjW5xODg/hJY5lGaydIMfxKl5zDZ4DYp1y5UsIUEIR1k/XqkwPdI?= =?iso-8859-1?Q?xkq5C+NJjSjUVdkOD0dXJxJ9wgqA8J+fezQuF3gaw0sbu8QEzPRglu449D?= =?iso-8859-1?Q?WHRcgG5F/Ti8Gfz5qbIoBHAPHm1Yw76GC9fxYKdn3Tdfg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0311;6:dUe/VSFRLfc5TUPZDEYVxYsAAOctD585Ww/miWP+UyT1a/i1rNM4wkdqRuQK1SHvhmZovd3Bryw2nvMeDOX6M5g9fabCKhezlMEt9XC7V2KXxwckuS+4TfiQZ95/Y2Afjjc9aC8GmBCv6IpkeWAHM7jIDSjVagmmbIN8pZ2SJ+uYFi+pt+FrAod+ugnI/E4Bq6B127obQXbVn5Z7Gtg3wYeB7snNVyufnL5Btv73SNE/7rGlbKDs7iu8RouT/ZMjkrLPlR6ic0Z9xw9FY9xvqUZPw49WN9JWmiuyRRUFs0uDJepcwQoqTkj5n5fBwADQQxBusLB3I2YH6ZcWpzvmfg==;5:f3FXivup27QUcMyjCY1k0wWh4VJtRq2D4zYhRgf8Oa0slq0dMG0EF1rjR1YGMwCU3YB+72s+4MxEvLyrJY9xyWgEwT8xgUKzD72NByhScsTyeO0uV9zzcAL7qoV0/ETqGNkYuQC4CY33fHsgzC13Fw==;24:QJYxdYLRAf9nsl9JOiFGAiEn3FGtSRzbp1VCD4b4AMYrQ/4rWNIBkLcpER0i7Bs5hOzSDDG0SPxtoEZ7oGcAFllY+6lDrf4VrnpNTiegF5w=;7:Ns7b8qsWFkZmPv+QzDqlLEXrxjWGXQV8fNZX6dunQVV9LRKhg4R/BHkr0kZL11Ipacm+OUCvFcZuK1CWrUEQpSPGZF+SN8YvA985ysogP67nfZEOcyk9RDVM60D6IO+80cHTuCux8Wiu4E3OJCm/9ljipAWGaoDOWOg1frusI9VlZVcutZ1P98Kt4uKNBmuC+gKsEd4dP1/dboZO3xQ9aJvCyl34OoAR7kYIumNySTOe5r38oYTwCAcxGDGl0UYR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2016 19:01:40.1064 (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 07/19/2016 01:00 AM, Al Viro wrote: > On Fri, Jul 15, 2016 at 01:39:40PM -0400, Waiman Long wrote: > >> +struct dlock_list_head_percpu { >> + struct list_head list; >> + spinlock_t lock; >> +}; >> +#define DLOCK_LIST_HEAD_PERCPU_INIT(name) \ >> + { \ >> + .list.prev =&name.list, \ >> + .list.next =&name.list, \ >> + .list.lock = __SPIN_LOCK_UNLOCKED(name), \ > What's .list.lock and how does that even compile? Yes, it is a typo. This macro is not used. That is why there is no compilation error. I will remove it from the patch. >> +extern bool dlock_list_next(struct dlock_list_head *dlist, >> + struct dlock_list_iter *iter); > Ugh... Why not dlist_for_each_entry(), seeing that all users end up with > the same boilerplate? Right, I could make a dlock_list_for_each_entry() that encapsulate the boilerplate. I will work on that. Thanks, Longman