From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751861AbcGNQQf (ORCPT ); Thu, 14 Jul 2016 12:16:35 -0400 Received: from mail-sn1nam02on0097.outbound.protection.outlook.com ([104.47.36.97]:4096 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751175AbcGNQQ3 (ORCPT ); Thu, 14 Jul 2016 12:16:29 -0400 X-Greylist: delayed 51688 seconds by postgrey-1.27 at vger.kernel.org; Thu, 14 Jul 2016 12:16:28 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <5787BAD3.40604@hpe.com> Date: Thu, 14 Jul 2016 12:16:19 -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: Tejun Heo CC: Jan Kara , Alexander Viro , Jan Kara , Jeff Layton , "J. Bruce Fields" , Christoph Lameter , , , Ingo Molnar , Peter Zijlstra , Andi Kleen , Dave Chinner , Boqun Feng , Scott J Norton , Douglas Hatch Subject: Re: [PATCH v2 1/7] lib/dlock-list: Distributed and lock-protected lists References: <1468258332-61537-1-git-send-email-Waiman.Long@hpe.com> <1468258332-61537-2-git-send-email-Waiman.Long@hpe.com> <20160713160823.GD4065@mtj.duckdns.org> <5786FEDB.9080107@hpe.com> <20160714115043.GD15005@htj.duckdns.org> <20160714143547.GE13151@quack2.suse.cz> <20160714145109.GI15005@htj.duckdns.org> In-Reply-To: <20160714145109.GI15005@htj.duckdns.org> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.160] X-ClientProxiedBy: CY1PR14CA0031.namprd14.prod.outlook.com (10.163.13.169) To CS1PR84MB0310.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.28) X-MS-Office365-Filtering-Correlation-Id: fe0d7283-f652-406b-f6be-08d3ac0234b5 X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;2:HKEW0nQNLQqFiGO5ooMa0jfbApOQ44NUlmE1oypYzO+mYjXgSlhGD/u9MWMevZMUutpXQFeCRMY2oH/AUlRfskNgobQk2r3ttTAqd78ZptgJl0dJaCRxpTdJ8AYbC6m27vTzwMb3Pr1z0ua8pnrIG555knxxAfVGusllGBsALH8yHfBz+wyXQ+jvJU+6UkyL;3:LBMXTBGBNRyfVxQTZNRn5CB7oD3Vf7kf1RB5JJVctUbgWFILjUvQu2kqmSeQE6/zTp/puZHoaar2nzJ8QqMoqK2oeZ3zISZ2anQ8ZYxpModdeRgncx0KOZuBelHbJDYP X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0310; X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;25:sjsKS3y4W+87H5Ni3/5lv9pDCupgLygDA/1Jy70wCGBErZ4Oc08h6s1s8RJ3vdkqQqFhrOudaasZwWNpUFSv8N62vChbt//fe6cwmvnRS6AaChA49d2c9WOCxsXSKKe5ESoIc9Ogc9HLMD4x05ldIyc+Q1hfCNTboTKQ4iFDP43iLv2DljvXx6JIyuKfhdOAevvbOQ36Er2Cf5KEr9VdguCACJ/xFbSslBLhYQdBYlUp4qMt4+ICaE9F21BzLSaJkm3TGJZDBKvjdFifEHbq6OXtBmdYKE6usRtPPlKnHX7VVOlQFUFXEuIiEBRkM9QfnORm5gbevbUbI8RTRiIw6fHtIf7hh6434WpSa7dhuHK23Oxnowx2+D8iC1Y1PPUZ0+Ui7Hoouu5SmwWlb8akmSz1Fgf9yry3h4K3xztnA0U8hmj4HlD9EWuvxlRLEqmCfn+E/GIPTk5Q5GT4hWvtrCBnZTo3YESLvaPcAT8xWDiCu/UqFS8ZQTACqF5V0Y+9KNCLjkS/1o7bXikq5sWnOEdCQOowO5jbEaNqEu8SCET/P6RhNPI4d780LarGTL1Fja5pTpGNQqRfC95wYGdtbA4hO8FIbqtRNrUHXMz4zfAylphg8j77o+mLfvLSTkfwF/SkzjQMdY+KLixGhJV+L9S+SDUsSeU7Q3of1URI5lvWVVdqpXZYvHYWUZ9rLXeNJdPQeZ15jvq2N1rFBhKoWTE4zkfLZhbGLvxDvoXzb4I=;31:2VvWB3wEZ1/JTPgmoIVVM3D+lUTRrwiUnfiDkQLQD3vZpczQSu4dPCaxUBtOmwniQ3xbN0xJ3mDPfgia8mGWm70yddWG9t+HvTJDcG8/hTo3DyKf2KkhKvsYG6MsbZcSnI99EIuo5u3a5hhusFJQwIz9fr3IhPB8i2bbENzhr4Ejz9rEfuwckSh3Ik78EvQYH2brfZZ0DzsTtFl0VqUn1Q== X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;20:z5qoriB7P2D3E2ehJS/MqwUMtLU5xuUlH1JYnG6+dqbiVJKUwEQlbXKNhWSaIHs3QAmatwwenZcNfvclCrSTjb6vZpk61FJXGcfBpNojqDHZE88LEPr68lQnxbbAppBdgdpAl8HCjFkId+q92jWjwdd/K6+UQEje98rSUC3jkDTOlBHzwioNxPsN/qKisQDHNJLgMzw9eP+SFLYptWuKDOhxKrvVHc8bqlklxHjgVVWDsrLOP+VMchUtGvlRAllohMjhW46iCkORVZpFYNnUPXAQ8Rzttl1HmKyt4F7yjUwH4r/jnZWapGkARB6r/ndf1AMAD3OzrmJbIu8ejxhE1SnqbCIlZvD9b7Dn7BFUTw/MpLF0zdzEoxltApmDlJSBD6GpFb3lxpmohsG1skpvdr8z8T8EXJREgi69Bb3oZLrJZk4S4JB7262MsO7I8xvpdiuA0+4HFo6CBSJQNJIIJheR5Oun38HQvn4SxcVv20OHy3AbpMNFugMUhuzMyEAD;4:zy4BOK01YmM43WMs3wbixt/dTeE3ZXoK5oBHhL2JS0QkRyJZ85vprvU4qyUJQlQuqI7jUGpHqy93O4c3FGOvUKNAzcOszpXrT+UYfiG9DERXDwWK3E3xU998n4bUbZkVue64bew88vR5hkorT2ma2vDLtTs93GbUXF02YlVcftgFinFvNC2iiAW9k4Kd15+Doorq/PN+TzwVbv1YphpxYHeSyB/1TDkeCI8k6lRXWgmVMXLX2lG2DbRTjtAWW91jEL/0D8PurnQT0InhbMozrIOrZizNUBj+fmcDoFuVWnedCEicpxWlC25+bS4oaDZRqiU/v/FFekQHfvSsDmV8Q3NygWo+36b1JmvqSZQfqFtkqwYAy3f5U2XzgA7csdWzZaWv1vMyk1IsUUqIDNuQyw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:CS1PR84MB0310;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0310; X-Forefront-PRVS: 00032065B2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(377454003)(24454002)(189002)(199003)(50466002)(8676002)(4001350100001)(2950100001)(106356001)(65806001)(76176999)(68736007)(7846002)(54356999)(33656002)(65816999)(66066001)(65956001)(36756003)(2906002)(93886004)(3846002)(6116002)(105586002)(110136002)(7736002)(50986999)(101416001)(305945005)(92566002)(189998001)(97736004)(117156001)(83506001)(81166006)(86362001)(81156014)(230700001)(64126003)(47776003)(4326007)(586003)(23756003)(42186005)(77096005);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0310;H:[192.168.142.167];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;CS1PR84MB0310;23:i5mA70buBxr/tzZDlpubMBPWSW4yd4zwa3Fhc1e?= =?iso-8859-1?Q?NX8DL7FHy9+s507Fl+H0I09ppFDHw8U9QgNY9NakIeqQr6WCCfAnwtlnnK?= =?iso-8859-1?Q?wOZtwyn2VKgGGl7Gp6rhEwTUgEqP1PtstozcBUZ7dR+ZeobfP74GzWtrim?= =?iso-8859-1?Q?+x543kk2+ddjmNKr4WmD0CcMCAU4FldxinsyFxIn04e3V3Tzvc6v+GVFCr?= =?iso-8859-1?Q?XZGuR0s+jivpLWf1D3jZC73YwNZlVTTQdjRG/T3usVpT+CbMWN9uNveBOa?= =?iso-8859-1?Q?9MByxDaYmp72zuLanyMW/zQIr55/tbOie8Q66z9Jh6ZPvQA37x5baz+KX+?= =?iso-8859-1?Q?kyZKdYrQqVk/rk7jCzCjcyqeaoxHlXsMW30gjitYI0JLLMVVX1bxHCcH9X?= =?iso-8859-1?Q?9fCEDTo3y46muvr+dbPJ2FWIJYCaZcVyhPbZLCHIEUsZnA65RbfDJfNJnv?= =?iso-8859-1?Q?7MMMqLCHQwormO5eKScUwoWXQAYWGJ0PHysJN4wKpX3AB/z24Ec6Gnhm7/?= =?iso-8859-1?Q?+TXuZ7LcH5zn53AtOS3q7Ve6g/7QkCbpQy31xF2YxW1Y48OwZYpsKwK9A5?= =?iso-8859-1?Q?20meQIYIsIVpL200eXCtIURJ36NkMdCS5ucZZ5h8g5CDsed9AM08D3XRFG?= =?iso-8859-1?Q?teFFzeJGre6FFO+TQrb75tPL62a4DdWRizn6257bj9WIYOZ4Hq5CQl38jt?= =?iso-8859-1?Q?3W6+obGCBTMbTq2qQ/l8z0W/0Yt4tBa8zgrl0aaaeoYcjRhr2ucfzwnWIo?= =?iso-8859-1?Q?VBH5Nll3Q3iOUyQjy6tXmaEQatlyKOIqe1hW33/Bz8lqyLzkPc0Xsj1v7e?= =?iso-8859-1?Q?cepn3Yrm9bwSkjNZLHj4i2bSuMiJOzq3MGpFu5PdOn1K73qwmFqlnJE3k6?= =?iso-8859-1?Q?W4NLHm33yGAO3H4oO7OXm8DIrQaQD6D7B3N0Rpv09vIoeXN0505mZa2TeG?= =?iso-8859-1?Q?uq/K7G40oPBaOoMDd/D9UA/4V8cB3oXaKP4od/IgOHK4Z4zYvH02cwZgNZ?= =?iso-8859-1?Q?1K392CeM3A0/FTsI6Rw97he5mRnrnipEgF2Sobq8/+G/cUaCDKiz1cGcWj?= =?iso-8859-1?Q?vpu1S+ks+8ZNm6fck3NyuA62VYw8GZ8syvzrTrez2lDk11cihlKjakRb9S?= =?iso-8859-1?Q?M4z8R3PtNOeKuJPpdniFJjZCo1rvtAZuNWaZh9YpGiuj0sPq2s/CTUJmFR?= =?iso-8859-1?Q?/W6phzdGxFSJv0YBo6XKxoutRNS/sR8BpiugcstiMxPD9Iwz6lQkAixrhe?= =?iso-8859-1?Q?ynoCFDTBrCqe6hCWG?= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0310;6:idwNDZMwLoaEJl9h4Go6kmcjtBsnsvzDRAKbSdrhcVBjF/xeGzPXskNBSSrJA3YIF9X5wqy3DQi/l8r3xDYZ9KF6Kzr3+3EX2sgVZCalnvnhIP9ipO30m6GqCREWa6HQ3REUDnuUNa1E8yk7sO/HNUQPPJoxkn6tFRtFq+KPQDu5T+9VhLrfQm5PxdEnKcQ/nStKG7KTKOFVeErPzYOB+xVnISbPvmt29Xp9OCYCwN4jpzKy2S5Da5+EPN8Dsea6GXecppPi1mA0YSux+QKtMncgc/0dCNT8qCVkcb4d6gpZBIugw3FBcZJIzV5dcsiIeV9TAeY90mNLYPTUAExdvg==;5:MveWMtyl2Jl8jGOEfpvPdIvaQPls0oAn1d6bdYaCdSGWiPmkHx43wV0D1iYHuIZFwiEB/mudsBwvcScXNCq0jAbi83LELV6m73mz0smhWWFa2YoTEi1oZWc7JVzSg5+IciNZN++KdENe33FuKfYffw==;24:0KuCI2G6SCSbNiAI4oieylWHJ7DOCHoO0lhNDiCdTrIdsFDEP2yfz4cZINjZzSe/mnMVJOiH0QeFZthxDv3cvJD6Kdepu2eYOLAomrJ5xuY=;7:AktK0qJ8lb9hWWfG9k+0V24awxZZFTt0vWm/WOwDnVL+hiFzROXQ312RGjJ7dTalcJxCI4wT/5XGlwqn0zQdZUkFGvuhZzkneFDIhh1AgfvVT87Eb6otYotin8hDy4J5Ta7i7eXPA1Mx0I6uUGnK7gP83uCyOhx3G2apCwdadlQrcJZmBzhgozGUMGRjXPAvTIIAomHJ6V4uZOacuMkR+sSTcdwCYSiZQJ7ABjk0ZTpchPyhvQdIA9kLeV4bE5wc SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2016 16:16:24.9021 (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 07/14/2016 10:51 AM, Tejun Heo wrote: > Hello, Jan. > > On Thu, Jul 14, 2016 at 04:35:47PM +0200, Jan Kara wrote: >>>> The current use case only need to use the regular lock functions. You are >>>> right that future use cases may require an irqsafe version of locks. I can >>>> either modify the code now to allow lock type selection at init time, for >>>> example, or defer it as a future enhancement when the need arises. What do >>>> you think? >>> The bulk of performance gain of dlist would come from being per-cpu >>> and I don't think it's likely that we'd see any noticeable difference >>> between irq and preempt safe operations. Given that what's being >>> implemented is really low level operations, I'd suggest going with >>> irqsafe from the get-go. >> I'm not sure here. i_sb_list for which percpu lists will be used is bashed >> pretty heavily under some workloads and the cost of additional interrupt >> disabling& enabling may be visible under those loads. Probably not in the >> cases where you get a boost from percpu lists but if the workload is mostly >> single-threaded, additional cpu cost may be measurable. So IMO we should >> check whether a load which creates tons of empty inodes in tmpfs from a >> single process doesn't regress with this change. > Sure, if it actually matters, we can always create separate preempt / > irq variants. > > Thanks. > I think having the irqsafe version of add and delete function variants is the way to go to ensure that we don't cause performance regression for codes that don't need the overhead of irqsave and irqrestore. Cheers, Longman