Lines Matching refs:list

38  * non-initialized list entries.
44 * Simple doubly linked list implementation.
69 * This is only for internal list manipulation where we know
85 * @head: list head to add it after
98 * @head: list head to add it before
111 * This is only for internal list manipulation where we know
125 * list_add_rcu - add a new entry to rcu-protected list
127 * @head: list head to add it after
134 * with another list-mutation primitive, such as list_add_rcu()
135 * or list_del_rcu(), running on this same list.
137 * the _rcu list-traversal primitives, such as
146 * list_add_tail_rcu - add a new entry to rcu-protected list
148 * @head: list head to add it before
155 * with another list-mutation primitive, such as list_add_tail_rcu()
156 * or list_del_rcu(), running on this same list.
158 * the _rcu list-traversal primitives, such as
168 * Delete a list entry by making the prev/next entries
171 * This is only for internal list manipulation where we know
181 * list_del - deletes entry from list.
182 * @entry: the element to delete from the list.
194 * list_del_rcu - deletes entry from list without re-initialization
195 * @entry: the element to delete from the list.
202 * pointers that may still be used for walking the list.
206 * with another list-mutation primitive, such as list_del_rcu()
207 * or list_add_rcu(), running on this same list.
209 * the _rcu list-traversal primitives, such as
224 * list_del_init - deletes entry from list and reinitialize it.
225 * @entry: the element to delete from the list.
234 * list_move - delete from one list and add as another's head
235 * @list: the entry to move
238 static inline void list_move(struct list_head *list, struct list_head *head)
240 __list_del(list->prev, list->next);
241 list_add(list, head);
245 * list_move_tail - delete from one list and add as another's tail
246 * @list: the entry to move
249 static inline void list_move_tail(struct list_head *list,
252 __list_del(list->prev, list->next);
253 list_add_tail(list, head);
257 * list_empty - tests whether a list is empty
258 * @head: the list to test.
266 * list_empty_careful - tests whether a list is
272 * to the list entry is list_del_init(). Eg. it cannot be used
275 * @head: the list to test.
283 static inline void __list_splice(struct list_head *list,
286 struct list_head *first = list->next;
287 struct list_head *last = list->prev;
299 * @list: the new list to add.
300 * @head: the place to add it in the first list.
302 static inline void list_splice(struct list_head *list, struct list_head *head)
304 if (!list_empty(list))
305 __list_splice(list, head);
309 * list_splice_init - join two lists and reinitialise the emptied list.
310 * @list: the new list to add.
311 * @head: the place to add it in the first list.
313 * The list at @list is reinitialised
315 static inline void list_splice_init(struct list_head *list,
318 if (!list_empty(list)) {
319 __list_splice(list, head);
320 INIT_LIST_HEAD(list);
334 * list_for_each - iterate over a list
336 * @head: the head for your list.
343 * __list_for_each - iterate over a list
345 * @head: the head for your list.
348 * simplest possible list iteration code, no prefetching is done.
349 * Use this for code that knows the list to be very short (empty
356 * list_for_each_prev - iterate over a list backwards
358 * @head: the head for your list.
365 * list_for_each_safe - iterate over a list safe against removal of list entry
368 * @head: the head for your list.
375 * list_for_each_entry - iterate over list of given type
377 * @head: the head for your list.
388 * list_for_each_entry_reverse - iterate backwards over list of given type.
390 * @head: the head for your list.
404 * @head: the head of the list
411 * list_for_each_entry_continue - iterate over list of given type
414 * @head: the head for your list.
425 * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
428 * @head: the head for your list.
438 * list_for_each_rcu - iterate over an rcu-protected list
440 * @head: the head for your list.
442 * This list-traversal primitive may safely run concurrently with
443 * the _rcu list-mutation primitives such as list_add_rcu()
455 * list_for_each_safe_rcu - iterate over an rcu-protected list safe
456 * against removal of list entry
459 * @head: the head for your list.
461 * This list-traversal primitive may safely run concurrently with
462 * the _rcu list-mutation primitives such as list_add_rcu()
470 * list_for_each_entry_rcu - iterate over rcu list of given type
472 * @head: the head for your list.
475 * This list-traversal primitive may safely run concurrently with
476 * the _rcu list-mutation primitives such as list_add_rcu()
489 * list_for_each_continue_rcu - iterate over an rcu-protected list
492 * @head: the head for your list.
494 * This list-traversal primitive may safely run concurrently with
495 * the _rcu list-mutation primitives such as list_add_rcu()
503 * Double linked lists with a single pointer list head.
504 * Mostly useful for hash tables where the two pointer list head is
549 * hlist_del_rcu - deletes entry from hash list without re-initialization
550 * @n: the element to delete from the hash list.
557 * pointers that may still be used for walking the hash list.
561 * with another list-mutation primitive, such as hlist_add_head_rcu()
562 * or hlist_del_rcu(), running on this same list.
564 * the _rcu list-traversal primitives, such as
597 * @n: the element to add to the hash list.
598 * @h: the list to add to.
602 * with another list-mutation primitive, such as hlist_add_head_rcu()
603 * or hlist_del_rcu(), running on this same list.
605 * the _rcu list-traversal primitives, such as
608 * Regardless of the type of CPU, the list-traversal primitive
657 * hlist_for_each_entry - iterate over list of given type
660 * @head: the head for your list.
693 * hlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry
697 * @head: the head for your list.
707 * hlist_for_each_entry_rcu - iterate over rcu list of given type
710 * @head: the head for your list.
713 * This list-traversal primitive may safely run concurrently with
714 * the _rcu list-mutation primitives such as hlist_add_rcu()