Lines Matching refs:xas
31 static void memfd_tag_pins(struct xa_state *xas) in memfd_tag_pins() argument
38 xas_lock_irq(xas); in memfd_tag_pins()
39 xas_for_each(xas, page, ULONG_MAX) { in memfd_tag_pins()
42 page = find_subpage(page, xas->xa_index); in memfd_tag_pins()
44 xas_set_mark(xas, MEMFD_TAG_PINNED); in memfd_tag_pins()
49 xas_pause(xas); in memfd_tag_pins()
50 xas_unlock_irq(xas); in memfd_tag_pins()
52 xas_lock_irq(xas); in memfd_tag_pins()
54 xas_unlock_irq(xas); in memfd_tag_pins()
68 XA_STATE(xas, &mapping->i_pages, 0); in memfd_wait_for_pins()
72 memfd_tag_pins(&xas); in memfd_wait_for_pins()
78 if (!xas_marked(&xas, MEMFD_TAG_PINNED)) in memfd_wait_for_pins()
86 xas_set(&xas, 0); in memfd_wait_for_pins()
87 xas_lock_irq(&xas); in memfd_wait_for_pins()
88 xas_for_each_marked(&xas, page, ULONG_MAX, MEMFD_TAG_PINNED) { in memfd_wait_for_pins()
92 page = find_subpage(page, xas.xa_index); in memfd_wait_for_pins()
105 xas_clear_mark(&xas, MEMFD_TAG_PINNED); in memfd_wait_for_pins()
109 xas_pause(&xas); in memfd_wait_for_pins()
110 xas_unlock_irq(&xas); in memfd_wait_for_pins()
112 xas_lock_irq(&xas); in memfd_wait_for_pins()
114 xas_unlock_irq(&xas); in memfd_wait_for_pins()