Lines Matching refs:wlist
175 void __post_watch_notification(struct watch_list *wlist, in __post_watch_notification() argument
191 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification()
442 int add_watch_to_object(struct watch *watch, struct watch_list *wlist) in add_watch_to_object() argument
447 hlist_for_each_entry(w, &wlist->watchers, list_node) { in add_watch_to_object()
454 rcu_assign_pointer(watch->watch_list, wlist); in add_watch_to_object()
469 hlist_add_head(&watch->list_node, &wlist->watchers); in add_watch_to_object()
484 int remove_watch_from_object(struct watch_list *wlist, struct watch_queue *wq, in remove_watch_from_object() argument
495 spin_lock(&wlist->lock); in remove_watch_from_object()
496 hlist_for_each_entry(watch, &wlist->watchers, list_node) { in remove_watch_from_object()
501 spin_unlock(&wlist->lock); in remove_watch_from_object()
508 spin_unlock(&wlist->lock); in remove_watch_from_object()
537 if (wlist->release_watch) { in remove_watch_from_object()
540 release_watch = wlist->release_watch; in remove_watch_from_object()
547 if (all && !hlist_empty(&wlist->watchers)) in remove_watch_from_object()
562 struct watch_list *wlist; in watch_queue_clear() local
583 wlist = rcu_dereference(watch->watch_list); in watch_queue_clear()
584 if (wlist) { in watch_queue_clear()
587 spin_lock(&wlist->lock); in watch_queue_clear()
597 release_watch = wlist->release_watch; in watch_queue_clear()
598 spin_unlock(&wlist->lock); in watch_queue_clear()