Lines Matching refs:pl
220 struct page_list *pl;
222 pl = kmalloc(sizeof(*pl), gfp);
223 if (!pl)
226 pl->page = alloc_page(gfp | __GFP_HIGHMEM);
227 if (!pl->page) {
228 kfree(pl);
232 return pl;
235 static void free_pl(struct page_list *pl)
237 __free_page(pl->page);
238 kfree(pl);
245 static void kcopyd_put_pages(struct dm_kcopyd_client *kc, struct page_list *pl)
250 next = pl->next;
253 free_pl(pl);
255 pl->next = kc->pages;
256 kc->pages = pl;
260 pl = next;
261 } while (pl);
267 struct page_list *pl;
272 pl = alloc_pl(__GFP_NOWARN | __GFP_NORETRY | __GFP_KSWAPD_RECLAIM);
273 if (unlikely(!pl)) {
275 pl = kc->pages;
276 if (unlikely(!pl))
278 kc->pages = pl->next;
281 pl->next = *pages;
282 *pages = pl;
296 static void drop_pages(struct page_list *pl)
300 while (pl) {
301 next = pl->next;
302 free_pl(pl);
303 pl = next;
313 struct page_list *pl = NULL, *next;
318 if (pl)
319 drop_pages(pl);
322 next->next = pl;
323 pl = next;
327 kcopyd_put_pages(kc, pl);
561 .mem.ptr.pl = job->pages,