Re: [PATCH v3 1/4] lib/dlock-list: Distributed and lock-protected lists
From: Dave Chinner
Date: Wed Jul 20 2016 - 21:50:00 EST
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@xxxxxxxxxxxxx