list_del_rcu(9)

NAME

list_del_rcu - deletes entry from list without re-initialization

SYNOPSIS

void list_del_rcu(struct list_head * entry);

ARGUMENTS

entry
the element to delete from the list.

NOTE

list_empty on entry does not return true after this, the entry is in an undefined state. It is useful for RCU based lockfree traversal.

In particular, it means that we can not poison the forward pointers
that may still be used for walking the list.

The caller must take whatever precautions are necessary (such as
holding appropriate locks) to avoid racing with another list-mutation
primitive, such as list_del_rcu or list_add_rcu, running on this same list. However, it is perfectly legal to run concurrently with the _rcu list-traversal primitives, such as list_for_each_entry_rcu.

Note that the caller is not permitted to immediately free the newly
deleted entry. Instead, either synchronize_rcu or call_rcu must be used to defer freeing until an RCU grace period has elapsed.

COPYRIGHT

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout