• Home
  • Raw
  • Download

Lines Matching refs:wlist

195 void __post_watch_notification(struct watch_list *wlist,  in __post_watch_notification()  argument
211 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification()
455 static int add_one_watch(struct watch *watch, struct watch_list *wlist, struct watch_queue *wqueue) in add_one_watch() argument
460 hlist_for_each_entry(w, &wlist->watchers, list_node) { in add_one_watch()
473 rcu_assign_pointer(watch->watch_list, wlist); in add_one_watch()
478 hlist_add_head_rcu(&watch->list_node, &wlist->watchers); in add_one_watch()
494 int add_watch_to_object(struct watch *watch, struct watch_list *wlist) in add_watch_to_object() argument
503 spin_lock(&wlist->lock); in add_watch_to_object()
504 ret = add_one_watch(watch, wlist, wqueue); in add_watch_to_object()
505 spin_unlock(&wlist->lock); in add_watch_to_object()
524 int remove_watch_from_object(struct watch_list *wlist, struct watch_queue *wq, in remove_watch_from_object() argument
535 spin_lock(&wlist->lock); in remove_watch_from_object()
536 hlist_for_each_entry(watch, &wlist->watchers, list_node) { in remove_watch_from_object()
541 spin_unlock(&wlist->lock); in remove_watch_from_object()
548 spin_unlock(&wlist->lock); in remove_watch_from_object()
572 if (wlist->release_watch) { in remove_watch_from_object()
575 release_watch = wlist->release_watch; in remove_watch_from_object()
582 if (all && !hlist_empty(&wlist->watchers)) in remove_watch_from_object()
597 struct watch_list *wlist; in watch_queue_clear() local
621 wlist = rcu_dereference(watch->watch_list); in watch_queue_clear()
622 if (wlist) { in watch_queue_clear()
625 spin_lock(&wlist->lock); in watch_queue_clear()
635 release_watch = wlist->release_watch; in watch_queue_clear()
636 spin_unlock(&wlist->lock); in watch_queue_clear()