From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ipmail05.adl6.internode.on.net ([150.101.137.143]:22524 "EHLO ipmail05.adl6.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754219AbcGUBtr (ORCPT ); Wed, 20 Jul 2016 21:49:47 -0400 Date: Thu, 21 Jul 2016 11:49:43 +1000 From: Dave Chinner To: Christoph Lameter Cc: Waiman Long , Tejun Heo , Alexander Viro , Jan Kara , Jeff Layton , "J. Bruce Fields" , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, 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 Message-ID: <20160721014943.GC12670@dastard> References: <1468604383-40362-1-git-send-email-Waiman.Long@hpe.com> <1468604383-40362-2-git-send-email-Waiman.Long@hpe.com> <20160718233803.GN3078@mtj.duckdns.org> <578E7497.30602@hpe.com> <578FF813.3040901@hpe.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wed, Jul 20, 2016 at 07:48:13PM -0500, Christoph Lameter wrote: > On Wed, 20 Jul 2016, Waiman Long wrote: > > > Christoph, are you OK with Tejun's request to revert the name back to > > percpu_list? Or do you still think the current name is better? > > The percpu structure contains a spinlock and may be remotely accessed? You > are aware that other percpu variables that share the same cacheline will > be negatively impacted by accesses from other processors? > > The role of percpu areas are to have memory areas where the code can > expect that cachelines are exclusively there for that processor. > > How frequent are the remote accesses? If this is rare then ok. Remote access will be the common case on traversal and removal from the superblock inode list. Under memory reclaim, the access should at least be from a CPU on the same node (as inode reclaim is NUMA aware). However, any other inode eviction event (e.g. inode unlink) removing it from the sb list will essentially be from a random CPU. Traversals (such as from the sync code, or cache invalidations) will run on a single CPU, so alomst all access from them will be be remote. So it's really only a per-cpu structure for list addition.... Cheers, Dave. -- Dave Chinner david@fromorbit.com