Home
last modified time | relevance | path

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

/linux/net/ipv6/
H A Desp6.c502 struct page_frag *pfrag = &x->xfrag; in esp6_output_head() local
510 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_head()
515 page = pfrag->page; in esp6_output_head()
518 tail = page_address(page) + pfrag->offset; in esp6_output_head()
524 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp6_output_head()
528 pfrag->offset = pfrag->offset + allocsize; in esp6_output_head()
616 struct page_frag *pfrag = &x->xfrag; in esp6_output_tail() local
621 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_tail()
628 page = pfrag->page; in esp6_output_tail()
631 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp6_output_tail()
[all …]
/linux/net/ipv4/
H A Desp4.c473 struct page_frag *pfrag = &x->xfrag; in esp_output_head() local
481 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_head()
486 page = pfrag->page; in esp_output_head()
489 tail = page_address(page) + pfrag->offset; in esp_output_head()
495 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp_output_head()
499 pfrag->offset = pfrag->offset + allocsize; in esp_output_head()
585 struct page_frag *pfrag = &x->xfrag; in esp_output_tail() local
590 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_tail()
597 page = pfrag->page; in esp_output_tail()
600 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp_output_tail()
[all …]
H A Dtcp.c1196 struct page_frag *pfrag = sk_page_frag(sk); in tcp_sendmsg_locked() local
1198 if (!sk_page_frag_refill(sk, pfrag)) in tcp_sendmsg_locked()
1201 if (!skb_can_coalesce(skb, i, pfrag->page, in tcp_sendmsg_locked()
1202 pfrag->offset)) { in tcp_sendmsg_locked()
1210 copy = min_t(int, copy, pfrag->size - pfrag->offset); in tcp_sendmsg_locked()
1223 pfrag->page, in tcp_sendmsg_locked()
1224 pfrag->offset, in tcp_sendmsg_locked()
1233 skb_fill_page_desc(skb, i, pfrag->page, in tcp_sendmsg_locked()
1234 pfrag->offset, copy); in tcp_sendmsg_locked()
1235 page_ref_inc(pfrag->page); in tcp_sendmsg_locked()
[all …]
H A Dtcp_output.c3976 struct page_frag *pfrag = sk_page_frag(sk); in tcp_send_syn_data() local
3999 pfrag, sk->sk_allocation)) in tcp_send_syn_data()
4006 space = min_t(size_t, space, pfrag->size - pfrag->offset); in tcp_send_syn_data()
4010 space = copy_page_from_iter(pfrag->page, pfrag->offset, in tcp_send_syn_data()
4017 skb_fill_page_desc(syn_data, 0, pfrag->page, in tcp_send_syn_data()
4018 pfrag->offset, space); in tcp_send_syn_data()
4019 page_ref_inc(pfrag->page); in tcp_send_syn_data()
4020 pfrag->offset += space; in tcp_send_syn_data()
/linux/net/kcm/
H A Dkcmsock.c807 struct page_frag *pfrag = sk_page_frag(sk); in kcm_sendmsg() local
809 if (!sk_page_frag_refill(sk, pfrag)) in kcm_sendmsg()
812 if (!skb_can_coalesce(skb, i, pfrag->page, in kcm_sendmsg()
813 pfrag->offset)) { in kcm_sendmsg()
855 pfrag->size - pfrag->offset); in kcm_sendmsg()
860 pfrag->page, in kcm_sendmsg()
861 pfrag->offset, in kcm_sendmsg()
871 skb_fill_page_desc(skb, i, pfrag->page, in kcm_sendmsg()
872 pfrag->offset, copy); in kcm_sendmsg()
873 get_page(pfrag->page); in kcm_sendmsg()
[all …]
/linux/net/core/
H A Dskmsg.c30 struct page_frag *pfrag = sk_page_frag(sk); in sk_msg_alloc() local
40 if (!sk_page_frag_refill(sk, pfrag)) { in sk_msg_alloc()
45 orig_offset = pfrag->offset; in sk_msg_alloc()
46 use = min_t(int, len, pfrag->size - orig_offset); in sk_msg_alloc()
57 sg_page(sge) == pfrag->page && in sk_msg_alloc()
68 sg_set_page(sge, pfrag->page, use, orig_offset); in sk_msg_alloc()
69 get_page(pfrag->page); in sk_msg_alloc()
75 pfrag->offset += use; in sk_msg_alloc()
H A Dsock.c3044 bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t gfp) in skb_page_frag_refill() argument
3046 if (pfrag->page) { in skb_page_frag_refill()
3047 if (page_ref_count(pfrag->page) == 1) { in skb_page_frag_refill()
3048 pfrag->offset = 0; in skb_page_frag_refill()
3051 if (pfrag->offset + sz <= pfrag->size) in skb_page_frag_refill()
3053 put_page(pfrag->page); in skb_page_frag_refill()
3056 pfrag->offset = 0; in skb_page_frag_refill()
3060 pfrag->page = alloc_pages((gfp & ~__GFP_DIRECT_RECLAIM) | in skb_page_frag_refill()
3064 if (likely(pfrag->page)) { in skb_page_frag_refill()
3065 pfrag->size = PAGE_SIZE << SKB_FRAG_PAGE_ORDER; in skb_page_frag_refill()
[all …]
H A Dskbuff.c2979 struct page_frag *pfrag = sk_page_frag(sk); in linear_to_page() local
2981 if (!sk_page_frag_refill(sk, pfrag)) in linear_to_page()
2984 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page()
2986 memcpy(page_address(pfrag->page) + pfrag->offset, in linear_to_page()
2988 *offset = pfrag->offset; in linear_to_page()
2989 pfrag->offset += *len; in linear_to_page()
2991 return pfrag->page; in linear_to_page()
/linux/net/mptcp/
H A Dprotocol.c987 const struct page_frag *pfrag, in mptcp_frag_can_collapse_to() argument
990 return df && pfrag->page == df->page && in mptcp_frag_can_collapse_to()
991 pfrag->size - pfrag->offset > 0 && in mptcp_frag_can_collapse_to()
992 pfrag->offset == (df->offset + df->data_len) && in mptcp_frag_can_collapse_to()
1107 static bool mptcp_page_frag_refill(struct sock *sk, struct page_frag *pfrag) in mptcp_page_frag_refill() argument
1110 pfrag, sk->sk_allocation))) in mptcp_page_frag_refill()
1118 mptcp_carve_data_frag(const struct mptcp_sock *msk, struct page_frag *pfrag, in mptcp_carve_data_frag() argument
1124 dfrag = (struct mptcp_data_frag *)(page_to_virt(pfrag->page) + offset); in mptcp_carve_data_frag()
1130 dfrag->page = pfrag->page; in mptcp_carve_data_frag()
1819 struct page_frag *pfrag; in mptcp_sendmsg() local
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_tx.c607 void **pfrag) in is_inline() argument
618 *pfrag = ptr; in is_inline()
642 void **pfrag, in get_real_size() argument
678 shinfo, pfrag); in get_real_size()
/linux/fs/ceph/
H A Dinode.c321 struct ceph_inode_frag *pfrag, int *found) in __ceph_choose_frag() argument
338 if (pfrag) in __ceph_choose_frag()
339 memcpy(pfrag, frag, sizeof(*pfrag)); in __ceph_choose_frag()
364 struct ceph_inode_frag *pfrag, int *found) in ceph_choose_frag() argument
368 ret = __ceph_choose_frag(ci, v, pfrag, found); in ceph_choose_frag()
/linux/drivers/scsi/be2iscsi/
H A Dbe_main.c2137 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_sgl_v2()
2226 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_sgl()
2329 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_buffer()
3895 struct iscsi_sge *pfrag; in beiscsi_init_sgl_handle() local
3973 pfrag = mem_descr_sg->mem_array[idx].virtual_address; in beiscsi_init_sgl_handle()
3984 psgl_handle->pfrag = pfrag; in beiscsi_init_sgl_handle()
3985 AMAP_SET_BITS(struct amap_iscsi_sge, addr_hi, pfrag, 0); in beiscsi_init_sgl_handle()
3986 AMAP_SET_BITS(struct amap_iscsi_sge, addr_lo, pfrag, 0); in beiscsi_init_sgl_handle()
3987 pfrag += phba->params.num_sge_per_io; in beiscsi_init_sgl_handle()
H A Dbe_main.h212 struct iscsi_sge *pfrag; member
/linux/include/net/
H A Dsock.h2525 bool sk_page_frag_refill(struct sock *sk, struct page_frag *pfrag);