Lines Matching refs:page
17 * 4. The reader looks at the index 0 slot, and finds that the page has 0 ref
48 struct page {
55 static struct page *page_alloc(int index)
57 struct page *p;
58 p = malloc(sizeof(struct page));
68 struct page *p = container_of(rcu, struct page, rcu);
74 static void page_free(struct page *p)
80 unsigned int nr_pages, struct page **pages)
83 struct page *page;
87 xas_for_each(&xas, page, ULONG_MAX) {
88 if (xas_retry(&xas, page))
91 pthread_mutex_lock(&page->lock);
92 if (!page->count)
95 /* don't actually update page refcount */
96 pthread_mutex_unlock(&page->lock);
98 /* Has the page moved? */
99 if (unlikely(page != xas_reload(&xas)))
102 pages[ret] = page;
106 pthread_mutex_unlock(&page->lock);
125 struct page *p;
157 struct page *pages[10];