Lines Matching refs:xas
31 static void memfd_tag_pins(struct xa_state *xas) in memfd_tag_pins() argument
39 xas_lock_irq(xas); in memfd_tag_pins()
40 xas_for_each(xas, page, ULONG_MAX) { in memfd_tag_pins()
48 xas_set_mark(xas, MEMFD_TAG_PINNED); in memfd_tag_pins()
50 xas_set(xas, page->index + cache_count); in memfd_tag_pins()
57 xas_pause(xas); in memfd_tag_pins()
58 xas_unlock_irq(xas); in memfd_tag_pins()
60 xas_lock_irq(xas); in memfd_tag_pins()
62 xas_unlock_irq(xas); in memfd_tag_pins()
76 XA_STATE(xas, &mapping->i_pages, 0); in memfd_wait_for_pins()
80 memfd_tag_pins(&xas); in memfd_wait_for_pins()
87 if (!xas_marked(&xas, MEMFD_TAG_PINNED)) in memfd_wait_for_pins()
95 xas_set(&xas, 0); in memfd_wait_for_pins()
96 xas_lock_irq(&xas); in memfd_wait_for_pins()
97 xas_for_each_marked(&xas, page, ULONG_MAX, MEMFD_TAG_PINNED) { in memfd_wait_for_pins()
118 xas_clear_mark(&xas, MEMFD_TAG_PINNED); in memfd_wait_for_pins()
125 xas_pause(&xas); in memfd_wait_for_pins()
126 xas_unlock_irq(&xas); in memfd_wait_for_pins()
128 xas_lock_irq(&xas); in memfd_wait_for_pins()
130 xas_unlock_irq(&xas); in memfd_wait_for_pins()