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;
114 pr_err("uxpte page alloc fail.\n");
141 struct uxpte_t *uxpte = NULL;
147 uxpte = page_to_virt(page);
149 return uxpte + uxpte_off(addr);
154 struct uxpte_t *uxpte = NULL;
158 uxpte = lookup_uxpte(vma, addr, true);
159 if (!uxpte)
162 val = uxpte_read(uxpte);
165 if (!uxpte_cas(uxpte, val, UXPTE_UNDER_RECLAIM))
176 struct uxpte_t *uxpte = NULL;
179 uxpte = lookup_uxpte(vma, addr, false);
180 if (!uxpte)
182 uxpte_set(uxpte, 0);
189 struct uxpte_t *uxpte = NULL;
193 uxpte = lookup_uxpte(vma, addr, true);
194 if (!uxpte)
197 val = uxpte_read(uxpte);
200 if (!uxpte_cas(uxpte, val, val + 1))
211 struct uxpte_t *uxpte = NULL;
215 uxpte = lookup_uxpte(vma, addr, false);
216 if (!uxpte)
219 val = uxpte_read(uxpte);
222 if (!uxpte_cas(uxpte, val, val - 1))
259 struct uxpte_t *uxpte = NULL;
271 uxpte = page_to_virt(page);
273 pte_entry = uxpte_read(&(uxpte[index]));