Lines Matching refs:xas
32 static void memfd_tag_pins(struct xa_state *xas) in memfd_tag_pins() argument
40 xas_lock_irq(xas); in memfd_tag_pins()
41 xas_for_each(xas, page, ULONG_MAX) { in memfd_tag_pins()
49 xas_set_mark(xas, MEMFD_TAG_PINNED); in memfd_tag_pins()
51 xas_set(xas, page->index + cache_count); in memfd_tag_pins()
58 xas_pause(xas); in memfd_tag_pins()
59 xas_unlock_irq(xas); in memfd_tag_pins()
61 xas_lock_irq(xas); in memfd_tag_pins()
63 xas_unlock_irq(xas); in memfd_tag_pins()
77 XA_STATE(xas, &mapping->i_pages, 0); in memfd_wait_for_pins()
81 memfd_tag_pins(&xas); in memfd_wait_for_pins()
88 if (!xas_marked(&xas, MEMFD_TAG_PINNED)) in memfd_wait_for_pins()
96 xas_set(&xas, 0); in memfd_wait_for_pins()
97 xas_lock_irq(&xas); in memfd_wait_for_pins()
98 xas_for_each_marked(&xas, page, ULONG_MAX, MEMFD_TAG_PINNED) { in memfd_wait_for_pins()
119 xas_clear_mark(&xas, MEMFD_TAG_PINNED); in memfd_wait_for_pins()
126 xas_pause(&xas); in memfd_wait_for_pins()
127 xas_unlock_irq(&xas); in memfd_wait_for_pins()
129 xas_lock_irq(&xas); in memfd_wait_for_pins()
131 xas_unlock_irq(&xas); in memfd_wait_for_pins()