Home
last modified time | relevance | path

Searched refs:pfrag (Results 1 – 5 of 5) sorted by relevance

/net/ipv4/
Dip_output.c884 struct page_frag *pfrag, in __ip_append_data() argument
1092 if (!sk_page_frag_refill(sk, pfrag)) in __ip_append_data()
1095 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip_append_data()
1096 pfrag->offset)) { in __ip_append_data()
1101 __skb_fill_page_desc(skb, i, pfrag->page, in __ip_append_data()
1102 pfrag->offset, 0); in __ip_append_data()
1104 get_page(pfrag->page); in __ip_append_data()
1106 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip_append_data()
1108 page_address(pfrag->page) + pfrag->offset, in __ip_append_data()
1112 pfrag->offset += copy; in __ip_append_data()
Dtcp.c1217 struct page_frag *pfrag = sk_page_frag(sk); in tcp_sendmsg() local
1219 if (!sk_page_frag_refill(sk, pfrag)) in tcp_sendmsg()
1222 if (!skb_can_coalesce(skb, i, pfrag->page, in tcp_sendmsg()
1223 pfrag->offset)) { in tcp_sendmsg()
1231 copy = min_t(int, copy, pfrag->size - pfrag->offset); in tcp_sendmsg()
1237 pfrag->page, in tcp_sendmsg()
1238 pfrag->offset, in tcp_sendmsg()
1247 skb_fill_page_desc(skb, i, pfrag->page, in tcp_sendmsg()
1248 pfrag->offset, copy); in tcp_sendmsg()
1249 get_page(pfrag->page); in tcp_sendmsg()
[all …]
/net/core/
Dsock.c1953 bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t gfp) in skb_page_frag_refill() argument
1955 if (pfrag->page) { in skb_page_frag_refill()
1956 if (atomic_read(&pfrag->page->_count) == 1) { in skb_page_frag_refill()
1957 pfrag->offset = 0; in skb_page_frag_refill()
1960 if (pfrag->offset + sz <= pfrag->size) in skb_page_frag_refill()
1962 put_page(pfrag->page); in skb_page_frag_refill()
1965 pfrag->offset = 0; in skb_page_frag_refill()
1968 pfrag->page = alloc_pages((gfp & ~__GFP_DIRECT_RECLAIM) | in skb_page_frag_refill()
1972 if (likely(pfrag->page)) { in skb_page_frag_refill()
1973 pfrag->size = PAGE_SIZE << SKB_FRAG_PAGE_ORDER; in skb_page_frag_refill()
[all …]
Dskbuff.c1783 struct page_frag *pfrag = sk_page_frag(sk); in linear_to_page() local
1785 if (!sk_page_frag_refill(sk, pfrag)) in linear_to_page()
1788 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page()
1790 memcpy(page_address(pfrag->page) + pfrag->offset, in linear_to_page()
1792 *offset = pfrag->offset; in linear_to_page()
1793 pfrag->offset += *len; in linear_to_page()
1795 return pfrag->page; in linear_to_page()
2972 struct page_frag *pfrag = &current->task_frag; in skb_append_datato_frags() local
2979 if (!sk_page_frag_refill(sk, pfrag)) in skb_append_datato_frags()
2983 copy = min_t(int, length, pfrag->size - pfrag->offset); in skb_append_datato_frags()
[all …]
/net/ipv6/
Dip6_output.c1276 struct page_frag *pfrag, in __ip6_append_data() argument
1549 if (!sk_page_frag_refill(sk, pfrag)) in __ip6_append_data()
1552 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip6_append_data()
1553 pfrag->offset)) { in __ip6_append_data()
1558 __skb_fill_page_desc(skb, i, pfrag->page, in __ip6_append_data()
1559 pfrag->offset, 0); in __ip6_append_data()
1561 get_page(pfrag->page); in __ip6_append_data()
1563 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip6_append_data()
1565 page_address(pfrag->page) + pfrag->offset, in __ip6_append_data()
1569 pfrag->offset += copy; in __ip6_append_data()