Re: [RFC PATCH 1/2] lib/percpu-list: Per-cpu list with associated per-cpu locks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/17/2016 06:05 AM, Peter Zijlstra wrote:
On Wed, Feb 17, 2016 at 12:00:40PM +0100, Peter Zijlstra wrote:
On Wed, Feb 17, 2016 at 08:53:18PM +1100, Dave Chinner wrote:
+/**
+ * for_all_percpu_list_entries - iterate over all the per-cpu list with locking
But the locking is 'pointless'. You only lock one per-cpu sublist at a
time, therefore the list can be modified concurrently anyhow.

For each per-cpu list, there can be only 1 task allowed to make changes. If you are talking about all the per-cpu lists within the group, operations can happen in parallel.

So why not use RCU for the list iteration and avoid potentially large
lock hold times?


I know we can use RCU for singly linked list, but I don't think we can use that for doubly linked list as there is no easy way to make atomic changes to both prev and next pointers simultaneously unless you are taking about 16b cmpxchg which is only supported in some architecture.

Cheers,
Longman
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux