From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964977AbcBQBhs (ORCPT ); Tue, 16 Feb 2016 20:37:48 -0500 Received: from mail-by2on0110.outbound.protection.outlook.com ([207.46.100.110]:22931 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964854AbcBQBhq (ORCPT ); Tue, 16 Feb 2016 20:37:46 -0500 Authentication-Results: fromorbit.com; dkim=none (message not signed) header.d=none;fromorbit.com; dmarc=none action=none header.from=hpe.com; Message-ID: <56C3CEDD.9010709@hpe.com> Date: Tue, 16 Feb 2016 20:37:33 -0500 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: Dave Chinner CC: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Alexander Viro , , , , Peter Zijlstra , Andi Kleen , Scott J Norton , Douglas Hatch Subject: Re: [PATCH v2 1/3] lib/list_batch: A simple list insertion/deletion batching facility References: <1454095846-19628-1-git-send-email-Waiman.Long@hpe.com> <1454095846-19628-2-git-send-email-Waiman.Long@hpe.com> <20160201004708.GQ20456@dastard> <56B2893C.4030609@hpe.com> <20160206235744.GI31407@dastard> In-Reply-To: <20160206235744.GI31407@dastard> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.212] X-ClientProxiedBy: CY1PR08CA0025.namprd08.prod.outlook.com (25.163.94.163) To AT5PR84MB0131.NAMPRD84.PROD.OUTLOOK.COM (25.162.137.25) X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0131;2:kvKJ2IXp3nOoCVC9wY3/3hbfipjR+CUZMTtph37mAA2nAE6yFLBkC3ecMa0vHpIkPtiYcj4iCsaXYtOG0j5VzIw7x0MONrHiKuiZJtauqUtxTO/EMYYWdWDEPHyGsPFFb9TWggsnkxoFkLDpS22BcQ==;3:kKJReWz/B66hJsRXivJNR/jxt61uhObF5bKKaYwHd9QuPDh10n4B2LC5aUwBT9bKg9PFPuQBiFyvKdsEo8tbIPCo8u5UprvUK63bWnX05YgmC5XPwCYlftmHElq44o3M;25:RtKjOn1TZtcK81VF6urSLp1q3DWwrOevk00jQ7hiFvMTNnqf3cOIl/qVGPAm0uhCpaMfcm91VPUAgRLDvT+7a/TmJjL2SHZYhaFqpgXbKLvyml+l/F+UkngcSmpiIqJEr2QNbiZ0lT8DABLEJ6e7PRxnG/L8DQsjTTcdQSP65jA9QUA8vUtRZ28UFY8mF2+/i03W2XdBIsz6F0xOZzYceMtC31yGcmbF3tiq+BAGLqQiL8aGjUL3YWKl73tkeAC5NZzHtwQoD3pNXuyCZyHG4UKBsys1O+17vr4qioZ2jO7tbcvwMcZa92SPKKGtCXeM;20:3WV+hC0jUeP7e+kAIVu497AMUPmJAroVfSrBzrJ+bVOl9oIFjBI9qcg+IxCONVta+ra6kPmP4hffXzv0TTyEvOVjvFW913a4+rHJIJXJpUdOWBaZ7bXWAdB1DzkC/8Ma/SjdYIwQtH+L7Vu3tJusVcfAFE5gPvKKZ7fPfzqBl+bzI3VZ28kHAAyIDxXKHzVhXYXPRvsv9HfIzPUdfizK/XwmpLeErStxTIG6aEHxn6/cAb0/NlJvWpLKQSTfeIWt X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0131; X-MS-Office365-Filtering-Correlation-Id: e0ab7150-b923-48e1-4566-08d3373aee31 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);SRVR:AT5PR84MB0131;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0131; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0131;4:HSiPdXYTzuYBU2oneKCCm+0JiH6n2Ef0cZSOrF9giUGtBNU9iKngx7NY4ij2e2NaYOVIZ4RhrSQ3y6608OVclQpg1X8OZz8Xyq1tv2dWYhdseDPNkxXJFRmZZEoQTz52GFcMqm7SwoTzFOPWBX8Gkc+DYhNk96moBCCj8KHrVsMC7cSrhBMnfdaGhg0r3a3hYjTultDJyUr1plDYvu2v3hv1iLTaIlPajcw7w5fsPXI+y6dMTmbh8Ywd/651rqaV5HogEOdFY0t80OsXoiUDj/SmbAikv7+OxcK3GKxSC652WFUGCsgQHEXNfvhuK1m01geZuMWiyRWV5pwMI5zFYQBcFNqoVj7vAF0t4N8LH2/1IyQyAvtRZjBf5YZPU/og X-Forefront-PRVS: 085551F5A8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(479174004)(377454003)(24454002)(164054003)(42186005)(19580395003)(93886004)(189998001)(4001350100001)(230700001)(86362001)(83506001)(5001960100002)(80316001)(33656002)(5008740100001)(117156001)(87976001)(77096005)(15975445007)(110136002)(92566002)(47776003)(1096002)(6116002)(2950100001)(50986999)(3846002)(23756003)(65816999)(36756003)(66066001)(87266999)(54356999)(2906002)(5004730100002)(40100003)(65806001)(65956001)(586003)(50466002)(76176999)(4326007)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0131;H:[192.168.142.187];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;AT5PR84MB0131;23:nzeeVnO8XCZ0B/9y911uOI+5V3QSGENnlErG2mM?= =?iso-8859-1?Q?0gjMhGH80KRusqo3/ZH5o3XNkMyi6fvWHOqhdQH/E6j2KwVNy0TDpyKU//?= =?iso-8859-1?Q?yc/9jX8dJ4uPiWBBgy3BuVqCpnX+IK/mtD9tQTfYmcg1yu/DTGjn2JnsGH?= =?iso-8859-1?Q?rF/sNBUYVlfoJYDTUB89VYWm1+J+5vQ27errZT/iZMSeOe1rjX3u4V/Yp/?= =?iso-8859-1?Q?NJHmj0T6Op15voKQVAhBbo7coBePYLR7T7qjDSxkHjwfMf191SezEo8Ce3?= =?iso-8859-1?Q?QmRlwDTD4ndCiuCENYbqRv7NCdki/IVZ4rG2wDOcvavUNjSptEFb/54rG4?= =?iso-8859-1?Q?ZVqMhHSJ/X2oQNXTI/5uEqRRQ5NC9whlECEUzV/hJdSP+I5+YZVTbsLkuH?= =?iso-8859-1?Q?EfmQ6XADK38S87TCgCojCzGdbe5ChMPv+oxtIUSV7URpgJshRJvYcdk7fn?= =?iso-8859-1?Q?PffsUgX/VRmbd7tDMooW3VwJb5zOK0Qs/sq12NN6AmsF5sS19hpZAUtANG?= =?iso-8859-1?Q?k9LVIymKbZu85oSXiZYlzF18wP2+d9ar1WdauTwDdi9dzvFD8FEPRGwlGs?= =?iso-8859-1?Q?2K2CuxN/CC4AS8dPtTQyU43ZWEeqqPDxq4KJxA6DqT2RdzGamoUe5BMqsu?= =?iso-8859-1?Q?phzzLNtDhlOtf9klWw0Lp8TtcdJ8ZGO0Lg+rTa2kBVZpWhM/oIJAomoEw5?= =?iso-8859-1?Q?nrGwYNQkyQfzykxTLxxnVH1NWEkIvQsmjIC5LfXzcJqeTyw92QXa3U1P4G?= =?iso-8859-1?Q?xxfwiQXgtHVvJ+31Qty0yHGvWe4Or/eZJ/AvN6/ZmlgBGEwzdXqm2Ivkz+?= =?iso-8859-1?Q?5n8s3E5Kz0hh0v//hRD8cIdGMxc83f3VRLaWcT3Jg+bKEd656kgzwa1Ynf?= =?iso-8859-1?Q?fSGu6PcOdBZZRA6Vf6ZqZjprEqfXOR++BenROQXHsnHfLfIn++uC958m23?= =?iso-8859-1?Q?KtZkorlAkrm+pdxJa6GHA9VzYa+jTnuAn4L676jMTjYhRt9c5fwLQiJk5d?= =?iso-8859-1?Q?i6BIXd2jFGnPdLPv1WsU6y3UJ0VbO18i/xAh0DnJSq7jgcvUsSK5c/4vuh?= =?iso-8859-1?Q?Ut5EI39zbYq5GrVyW6jl/SG+yh5303Ud+oSKVFM8hrd0QFwI8b8mSx71VU?= =?iso-8859-1?Q?6VyJBGDwPRGJ0WCZ7Xt3dkncciuQJU6Gb992BuJ+eF4tqNqUT5rDLFP3jw?= =?iso-8859-1?Q?XO65ckca4ePgyJz2AMnhJEBrz7fm+6CrVjkZ3QGU+fulsEpN9Uw1214z1j?= =?iso-8859-1?Q?2Dg7Oy6a3qm4zm6sASR2RsotMcprcI1MagxeMGA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0131;5:moFB+RvBQUaaBKAn2lWkY+IXy8jyMu0raHuXeLZ5EOJHypCYhQzaJin7YbogZ4c6uhYcaVkvRmKs68rWU8WSG0rITABQTCbCcjYE01BjmklWMp2mTRBuwQulKeZz3Bd9WrOc00YZ1/dlojSrJZqXtQ==;24:NAb21xeV/Jn+uO6FPOTe5vYM+qvlYrCs+p55jWKfL8pZb6Yr762fS0HzsU2lTlblETyRa8NDgUWCgjcLsdn1Sz+K9BF3dZLrKr0jK6Wq41E= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2016 01:37:40.4926 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0131 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/06/2016 06:57 PM, Dave Chinner wrote: > On Wed, Feb 03, 2016 at 06:11:56PM -0500, Waiman Long wrote: >> On 01/31/2016 07:47 PM, Dave Chinner wrote: >>> So at what point does simply replacing the list_head with a list_lru >>> become more efficient than this batch processing (i.e. >>> https://lkml.org/lkml/2015/3/10/660)? The list_lru isn't a great >>> fit for the inode list (doesn't need any of the special LRU/memcg >>> stuff https://lkml.org/lkml/2015/3/16/261) but it will tell us if, >>> like Ingo suggested, moving more towards a generic per-cpu list >>> would provide better overall performance... >> I will take a look at the list_lru patch to see if that help. As for >> the per-cpu list, I tried that and it didn't quite work out. > OK, see my last email as to why Andi's patch didn't change anything. > The list_lru implementation has a list per node, a lock per node, > and each item is placed on the list for the node it is physically > allocated from. Hence for local workloads, the list/lock that is > accessed for add/remove should be local to the node and hence should > reduce cache line contention mostly to within a single node. > > Cheers, > > Dave. I have just sent out a new patchset using per-cpu list with per-cpu locks. I used the per-cpu list as the changes will be simpler and easier to review. Please let me know your thought on that. Thanks, Longman