Lines Matching refs:list
278 # define PAGE_LIST_NULL ((typeof(((struct page_info){}).list.next))~0)
315 return page != head->tail ? pdx_to_page(page->list.next) : NULL; in page_list_next()
321 return page != head->next ? pdx_to_page(page->list.prev) : NULL; in page_list_prev()
328 page->list.next = page_to_pdx(head->next); in page_list_add()
329 head->next->list.prev = page_to_pdx(page); in page_list_add()
334 page->list.next = PAGE_LIST_NULL; in page_list_add()
336 page->list.prev = PAGE_LIST_NULL; in page_list_add()
342 page->list.next = PAGE_LIST_NULL; in page_list_add_tail()
345 page->list.prev = page_to_pdx(head->tail); in page_list_add_tail()
346 head->tail->list.next = page_to_pdx(page); in page_list_add_tail()
350 page->list.prev = PAGE_LIST_NULL; in page_list_add_tail()
363 next->list.prev = PAGE_LIST_NULL; in __page_list_del_head()
373 prev->list.next = PAGE_LIST_NULL; in __page_list_del_head()
383 struct page_info *next = pdx_to_page(page->list.next); in page_list_del()
384 struct page_info *prev = pdx_to_page(page->list.prev); in page_list_del()
388 next->list.prev = page->list.prev; in page_list_del()
389 prev->list.next = page->list.next; in page_list_del()
396 struct page_info *next = pdx_to_page(page->list.next); in page_list_del2()
397 struct page_info *prev = pdx_to_page(page->list.prev); in page_list_del2()
402 next->list.prev = page->list.prev; in page_list_del2()
403 prev->list.next = page->list.next; in page_list_del2()
426 page_list_splice(struct page_list_head *list, struct page_list_head *head) in page_list_splice() argument
430 if ( page_list_empty(list) ) in page_list_splice()
435 head->next = list->next; in page_list_splice()
436 head->tail = list->tail; in page_list_splice()
440 first = list->next; in page_list_splice()
441 last = list->tail; in page_list_splice()
444 ASSERT(first->list.prev == PAGE_LIST_NULL); in page_list_splice()
445 ASSERT(first->list.prev == at->list.prev); in page_list_splice()
448 last->list.next = page_to_pdx(at); in page_list_splice()
449 at->list.prev = page_to_pdx(last); in page_list_splice()
477 return list_first_entry(head, struct page_info, list); in page_list_first()
482 return list_last_entry(head, struct page_info, list); in page_list_last()
488 return list_entry(page->list.next, struct page_info, list); in page_list_next()
494 return list_entry(page->list.prev, struct page_info, list); in page_list_prev()
499 list_add(&page->list, head); in page_list_add()
504 list_add_tail(&page->list, head); in page_list_add_tail()
509 list_del(&page->list); in page_list_del()
515 list_del(&page->list); in page_list_del2()
526 list_del(&pg->list); in page_list_remove_head()
536 page_list_splice(struct page_list_head *list, struct page_list_head *head) in page_list_splice() argument
538 list_splice(list, head); in page_list_splice()
541 # define page_list_for_each(pos, head) list_for_each_entry(pos, head, list)
543 list_for_each_entry_safe(pos, tmp, head, list)
545 list_for_each_entry_safe_reverse(pos, tmp, head, list)