Lines Matching refs:uxpte
35 #define uxpte_refcnt(uxpte) ((uxpte) >> UXPTE_PRESENT_BIT)
36 #define uxpte_present(uxpte) ((uxpte) & UXPTE_PRESENT_MASK)
38 static inline long uxpte_read(struct uxpte_t *uxpte)
40 return atomic64_read(&uxpte->val);
43 static inline void uxpte_set(struct uxpte_t *uxpte, long val)
45 atomic64_set(&uxpte->val, val);
48 static inline bool uxpte_cas(struct uxpte_t *uxpte, long old, long new)
50 return atomic64_cmpxchg(&uxpte->val, old, new) == old;
115 pr_err("uxpte page alloc fail.\n");
143 struct uxpte_t *uxpte = NULL;
149 uxpte = page_to_virt(page);
151 return uxpte + uxpte_off(addr);
156 struct uxpte_t *uxpte = NULL;
160 uxpte = lookup_uxpte(vma, addr, true);
161 if (!uxpte)
164 val = uxpte_read(uxpte);
167 if (!uxpte_cas(uxpte, val, UXPTE_UNDER_RECLAIM))
178 struct uxpte_t *uxpte = NULL;
181 uxpte = lookup_uxpte(vma, addr, false);
182 if (!uxpte)
184 uxpte_set(uxpte, 0);
191 struct uxpte_t *uxpte = NULL;
195 uxpte = lookup_uxpte(vma, addr, true);
196 if (!uxpte)
199 val = uxpte_read(uxpte);
202 if (!uxpte_cas(uxpte, val, val + 1))
213 struct uxpte_t *uxpte = NULL;
217 uxpte = lookup_uxpte(vma, addr, false);
218 if (!uxpte)
221 val = uxpte_read(uxpte);
224 if (!uxpte_cas(uxpte, val, val - 1))
261 struct uxpte_t *uxpte = NULL;
273 uxpte = page_to_virt(page);
275 pte_entry = uxpte_read(&(uxpte[index]));