Lines Matching defs:refs

71 static inline struct folio *try_get_folio(struct page *page, int refs)
79 if (unlikely(!folio_ref_try_add_rcu(folio, refs)))
92 if (!put_devmap_managed_page_refs(&folio->page, refs))
93 folio_put_refs(folio, refs);
103 * @refs: the value to (effectively) add to the folio's refcount
113 * FOLL_GET: folio's refcount will be incremented by @refs.
116 * @refs, and its pincount will be incremented by @refs.
119 * @refs * GUP_PIN_COUNTING_BIAS.
126 struct folio *try_grab_folio(struct page *page, int refs, unsigned int flags)
137 return try_get_folio(page, refs);
148 folio = try_get_folio(page, refs);
159 if (!put_devmap_managed_page_refs(&folio->page, refs))
160 folio_put_refs(folio, refs);
173 atomic_add(refs, &folio->_pincount);
176 refs * (GUP_PIN_COUNTING_BIAS - 1));
184 node_stat_mod_folio(folio, NR_FOLL_PIN_ACQUIRED, refs);
189 static void gup_put_folio(struct folio *folio, int refs, unsigned int flags)
194 node_stat_mod_folio(folio, NR_FOLL_PIN_RELEASED, refs);
196 atomic_sub(refs, &folio->_pincount);
198 refs *= GUP_PIN_COUNTING_BIAS;
201 if (!put_devmap_managed_page_refs(&folio->page, refs))
202 folio_put_refs(folio, refs);
217 * "refs=1".
2785 int refs;
2800 refs = record_subpages(page, addr, end, pages + *nr);
2802 folio = try_grab_folio(page, refs, flags);
2807 gup_put_folio(folio, refs, flags);
2812 gup_put_folio(folio, refs, flags);
2817 gup_put_folio(folio, refs, flags);
2821 *nr += refs;
2858 int refs;
2871 refs = record_subpages(page, addr, end, pages + *nr);
2873 folio = try_grab_folio(page, refs, flags);
2878 gup_put_folio(folio, refs, flags);
2883 gup_put_folio(folio, refs, flags);
2887 gup_put_folio(folio, refs, flags);
2891 *nr += refs;
2902 int refs;
2915 refs = record_subpages(page, addr, end, pages + *nr);
2917 folio = try_grab_folio(page, refs, flags);
2922 gup_put_folio(folio, refs, flags);
2927 gup_put_folio(folio, refs, flags);
2932 gup_put_folio(folio, refs, flags);
2936 *nr += refs;
2945 int refs;
2955 refs = record_subpages(page, addr, end, pages + *nr);
2957 folio = try_grab_folio(page, refs, flags);
2962 gup_put_folio(folio, refs, flags);
2967 gup_put_folio(folio, refs, flags);
2972 gup_put_folio(folio, refs, flags);
2976 *nr += refs;