Re: list_head and lock?

From: Paul E. McKenney
Date: Mon Nov 18 2013 - 17:58:50 EST


On Sun, Nov 17, 2013 at 05:48:14PM -0800, anish singh wrote:
> On Sun, Nov 17, 2013 at 5:19 PM, éç <bonben1989@xxxxxxxxx> wrote:
> > when we delete,add,search,amend the list_head,should we use spinlock
> > or rcu in case of conflicit to list_head???
> There is no implicit locking when we use 'list' api's.You should explicitly
> do that AFAIK.

See Documentation/RCU/listRCU.txt for a summary of how to use RCU-protected
linked lists. But yes, readers need to explicitly do rcu_read_lock()
and rcu_read_unlock(), and updaters must coordinate with each others
somehow, for example, explicitly using spinlocks.

The list_head macros are about list manipulation and not so much about
synchronization.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/