Lines Matching refs:frag
46 static void rds_iw_frag_drop_page(struct rds_page_frag *frag) in rds_iw_frag_drop_page() argument
48 rdsdebug("frag %p page %p\n", frag, frag->f_page); in rds_iw_frag_drop_page()
49 __free_page(frag->f_page); in rds_iw_frag_drop_page()
50 frag->f_page = NULL; in rds_iw_frag_drop_page()
53 static void rds_iw_frag_free(struct rds_page_frag *frag) in rds_iw_frag_free() argument
55 rdsdebug("frag %p page %p\n", frag, frag->f_page); in rds_iw_frag_free()
56 BUG_ON(frag->f_page); in rds_iw_frag_free()
57 kmem_cache_free(rds_iw_frag_slab, frag); in rds_iw_frag_free()
72 struct rds_page_frag *frag = recv->r_frag; in rds_iw_recv_unmap_page() local
74 rdsdebug("recv %p frag %p page %p\n", recv, frag, frag->f_page); in rds_iw_recv_unmap_page()
75 if (frag->f_mapped) in rds_iw_recv_unmap_page()
77 frag->f_mapped, in rds_iw_recv_unmap_page()
79 frag->f_mapped = 0; in rds_iw_recv_unmap_page()
279 struct rds_page_frag *frag; in rds_iw_inc_purge() local
285 list_for_each_entry_safe(frag, pos, &iwinc->ii_frags, f_item) { in rds_iw_inc_purge()
286 list_del_init(&frag->f_item); in rds_iw_inc_purge()
287 rds_iw_frag_drop_page(frag); in rds_iw_inc_purge()
288 rds_iw_frag_free(frag); in rds_iw_inc_purge()
309 struct rds_page_frag *frag; in rds_iw_inc_copy_to_user() local
317 frag = list_entry(iwinc->ii_frags.next, struct rds_page_frag, f_item); in rds_iw_inc_copy_to_user()
322 frag = list_entry(frag->f_item.next, in rds_iw_inc_copy_to_user()
332 ret = copy_page_to_iter(frag->f_page, in rds_iw_inc_copy_to_user()
333 frag->f_offset + frag_off, in rds_iw_inc_copy_to_user()
559 struct rds_page_frag *frag; in rds_iw_cong_recv() local
574 frag = list_entry(iwinc->ii_frags.next, struct rds_page_frag, f_item); in rds_iw_cong_recv()
586 addr = kmap_atomic(frag->f_page); in rds_iw_cong_recv()
608 frag = list_entry(frag->f_item.next, in rds_iw_cong_recv()