Lines Matching refs:pl
216 struct page_list *pl;
218 pl = kmalloc(sizeof(*pl), gfp);
219 if (!pl)
222 pl->page = alloc_page(gfp);
223 if (!pl->page) {
224 kfree(pl);
228 return pl;
231 static void free_pl(struct page_list *pl)
233 __free_page(pl->page);
234 kfree(pl);
241 static void kcopyd_put_pages(struct dm_kcopyd_client *kc, struct page_list *pl)
246 next = pl->next;
249 free_pl(pl);
251 pl->next = kc->pages;
252 kc->pages = pl;
256 pl = next;
257 } while (pl);
263 struct page_list *pl;
268 pl = alloc_pl(__GFP_NOWARN | __GFP_NORETRY | __GFP_KSWAPD_RECLAIM);
269 if (unlikely(!pl)) {
271 pl = kc->pages;
272 if (unlikely(!pl))
274 kc->pages = pl->next;
277 pl->next = *pages;
278 *pages = pl;
292 static void drop_pages(struct page_list *pl)
296 while (pl) {
297 next = pl->next;
298 free_pl(pl);
299 pl = next;
309 struct page_list *pl = NULL, *next;
314 if (pl)
315 drop_pages(pl);
318 next->next = pl;
319 pl = next;
323 kcopyd_put_pages(kc, pl);
557 .mem.ptr.pl = job->pages,