Lines Matching refs:page

287  * @frag_size is 0, otherwise data should come from the page allocator.
334 * containing page->_count every time we allocate a fragment.
349 if (unlikely(!nc->frag.page)) {
356 nc->frag.page = alloc_pages(gfp, order);
357 if (likely(nc->frag.page))
363 /* Even if we own the page, we do not use atomic_set().
367 &nc->frag.page->_count);
373 if (atomic_read(&nc->frag.page->_count) != nc->pagecnt_bias) {
375 &nc->frag.page->_count))
377 /* OK, page count is 0, we can safely set it */
378 atomic_set(&nc->frag.page->_count,
382 &nc->frag.page->_count);
388 data = page_address(nc->frag.page) + nc->frag.offset;
397 * netdev_alloc_frag - allocate a page fragment
400 * Allocates a frag from a page for receive buffer.
454 void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off,
457 skb_fill_page_desc(skb, i, page, off, size);
814 struct page *page, *head = NULL;
821 page = alloc_page(gfp_mask);
822 if (!page) {
824 struct page *next = (struct page *)page_private(head);
831 memcpy(page_address(page),
834 set_page_private(page, (unsigned long)head);
835 head = page;
848 head = (struct page *)page_private(head);
1675 static struct page *linear_to_page(struct page *page, unsigned int *len,
1686 memcpy(page_address(pfrag->page) + pfrag->offset,
1687 page_address(page) + *offset, *len);
1691 return pfrag->page;
1695 struct page *page,
1699 spd->pages[spd->nr_pages - 1] == page &&
1705 * Fill page/offset/length into spd, if it can hold more pages.
1708 struct pipe_inode_info *pipe, struct page *page,
1717 page = linear_to_page(page, len, &offset, sk);
1718 if (!page)
1721 if (spd_can_coalesce(spd, page, offset)) {
1725 get_page(page);
1726 spd->pages[spd->nr_pages] = page;
1734 static bool __splice_segment(struct page *page, unsigned int poff,
1758 if (spd_fill_page(spd, pipe, page, &flen, poff,
1782 * we can avoid a copy since we own the head portion of this page.
1818 struct page *pages[MAX_SKB_FRAGS];
2164 struct page *page;
2181 page = virt_to_head_page(from->head);
2182 offset = from->data - (unsigned char *)page_address(page);
2183 __skb_fill_page_desc(to, 0, page, offset, plen);
2184 get_page(page);
2575 fragto->page = fragfrom->page;
2804 * of the skb if any page alloc fails user this procedure returns -ENOMEM
2825 /* copy the user data to page */
2828 ret = getfrag(from, page_address(pfrag->page) + pfrag->offset,
2834 skb_fill_page_desc(skb, frg_cnt, pfrag->page, pfrag->offset,
2838 get_page(pfrag->page);
3150 struct page *page = virt_to_head_page(skb->head);
3158 (unsigned char *)page_address(page) +
3163 frag->page.p = page;
3969 struct page *page;
3981 page = virt_to_head_page(from->head);
3982 offset = from->data - (unsigned char *)page_address(page);
3985 page, offset, skb_headlen(from));
4134 * alloc_skb_with_frags - allocate skb with page frags
4138 * @max_page_order: max page order desired.
4153 struct page *page;
4180 page = alloc_pages(gfp_mask |
4185 if (page)
4193 page = alloc_page(gfp_mask);
4194 if (!page)
4199 skb_fill_page_desc(skb, i, page, 0, chunk);