Home
last modified time | relevance | path

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

/linux/net/tls/
H A Dtls_device.c258 struct page_frag *pfrag, in tls_append_frag() argument
264 if (skb_frag_page(frag) == pfrag->page && in tls_append_frag()
265 skb_frag_off(frag) + skb_frag_size(frag) == pfrag->offset) { in tls_append_frag()
269 skb_frag_fill_page_desc(frag, pfrag->page, pfrag->offset, in tls_append_frag()
272 get_page(pfrag->page); in tls_append_frag()
275 pfrag->offset += size; in tls_append_frag()
316 struct page_frag *pfrag, in tls_device_record_close() argument
328 if (unlikely(pfrag->size - pfrag->offset < prot->tag_size) && in tls_device_record_close()
329 !skb_page_frag_refill(prot->tag_size, pfrag, sk->sk_allocation)) { in tls_device_record_close()
332 pfrag = &dummy_tag_frag; in tls_device_record_close()
[all …]
/linux/net/ipv6/
H A Desp6.c470 struct page_frag *pfrag = &x->xfrag; in esp6_output_head() local
484 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_head()
489 page = pfrag->page; in esp6_output_head()
492 tail = page_address(page) + pfrag->offset; in esp6_output_head()
498 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp6_output_head()
502 pfrag->offset = pfrag->offset + allocsize; in esp6_output_head()
590 struct page_frag *pfrag = &x->xfrag; in esp6_output_tail() local
595 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_tail()
602 page = pfrag->page; in esp6_output_tail()
605 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp6_output_tail()
[all …]
H A Dip6_output.c1456 struct page_frag *pfrag, in __ip6_append_data() argument
1807 if (!sk_page_frag_refill(sk, pfrag)) in __ip6_append_data()
1811 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip6_append_data()
1812 pfrag->offset)) { in __ip6_append_data()
1817 __skb_fill_page_desc(skb, i, pfrag->page, in __ip6_append_data()
1818 pfrag->offset, 0); in __ip6_append_data()
1820 get_page(pfrag->page); in __ip6_append_data()
1822 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip6_append_data()
1825 page_address(pfrag->page) + pfrag->offset, in __ip6_append_data()
1829 pfrag->offset += copy; in __ip6_append_data()
/linux/net/ipv4/
H A Desp4.c440 struct page_frag *pfrag = &x->xfrag; in esp_output_head() local
454 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_head()
459 page = pfrag->page; in esp_output_head()
462 tail = page_address(page) + pfrag->offset; in esp_output_head()
468 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp_output_head()
472 pfrag->offset = pfrag->offset + allocsize; in esp_output_head()
558 struct page_frag *pfrag = &x->xfrag; in esp_output_tail() local
563 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_tail()
570 page = pfrag->page; in esp_output_tail()
573 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp_output_tail()
[all …]
H A Dip_output.c961 struct page_frag *pfrag, in __ip_append_data()
1247 if (!sk_page_frag_refill(sk, pfrag)) in __ip_append_data()
1251 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip_append_data()
1252 pfrag->offset)) { in __ip_append_data()
1257 __skb_fill_page_desc(skb, i, pfrag->page, in __ip_append_data()
1258 pfrag->offset, 0); in __ip_append_data()
1260 get_page(pfrag->page); in __ip_append_data()
1262 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip_append_data()
1265 page_address(pfrag in __ip_append_data()
957 __ip_append_data(struct sock * sk,struct flowi4 * fl4,struct sk_buff_head * queue,struct inet_cork * cork,struct page_frag * pfrag,int getfrag (void * from,char * to,int offset,int len,int odd,struct sk_buff * skb),void * from,int length,int transhdrlen,unsigned int flags) __ip_append_data() argument
[all...]
H A Dtcp.c1284 struct page_frag *pfrag = sk_page_frag(sk); in tcp_sendmsg_locked() local
1286 if (!sk_page_frag_refill(sk, pfrag)) in tcp_sendmsg_locked()
1289 if (!skb_can_coalesce(skb, i, pfrag->page, in tcp_sendmsg_locked()
1290 pfrag->offset)) { in tcp_sendmsg_locked()
1298 copy = min_t(int, copy, pfrag->size - pfrag->offset); in tcp_sendmsg_locked()
1311 pfrag->page, in tcp_sendmsg_locked()
1312 pfrag->offset, in tcp_sendmsg_locked()
1321 skb_fill_page_desc(skb, i, pfrag->page, in tcp_sendmsg_locked()
1322 pfrag in tcp_sendmsg_locked()
[all...]
H A Dtcp_output.c4209 struct page_frag *pfrag = sk_page_frag(sk); in tcp_send_syn_data() local
4232 pfrag, sk->sk_allocation)) in tcp_send_syn_data()
4239 space = min_t(size_t, space, pfrag->size - pfrag->offset); in tcp_send_syn_data()
4243 space = copy_page_from_iter(pfrag->page, pfrag->offset, in tcp_send_syn_data()
4250 skb_fill_page_desc(syn_data, 0, pfrag->page, in tcp_send_syn_data()
4251 pfrag->offset, space); in tcp_send_syn_data()
4252 page_ref_inc(pfrag->page); in tcp_send_syn_data()
4253 pfrag->offset += space; in tcp_send_syn_data()
/linux/net/kcm/
H A Dkcmsock.c812 struct page_frag *pfrag = sk_page_frag(sk); in kcm_sendmsg() local
814 if (!sk_page_frag_refill(sk, pfrag)) in kcm_sendmsg()
817 if (!skb_can_coalesce(skb, i, pfrag->page, in kcm_sendmsg()
818 pfrag->offset)) { in kcm_sendmsg()
860 pfrag->size - pfrag->offset); in kcm_sendmsg()
865 pfrag->page, in kcm_sendmsg()
866 pfrag->offset, in kcm_sendmsg()
876 skb_fill_page_desc(skb, i, pfrag->page, in kcm_sendmsg()
877 pfrag->offset, copy); in kcm_sendmsg()
878 get_page(pfrag->page); in kcm_sendmsg()
[all …]
/linux/net/core/
H A Dskmsg.c29 struct page_frag *pfrag = sk_page_frag(sk); in sk_msg_alloc() local
39 if (!sk_page_frag_refill(sk, pfrag)) { in sk_msg_alloc()
44 orig_offset = pfrag->offset; in sk_msg_alloc()
45 use = min_t(int, len, pfrag->size - orig_offset); in sk_msg_alloc()
56 sg_page(sge) == pfrag->page && in sk_msg_alloc()
67 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.c3180 * @pfrag: pointer to page_frag
3187 bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t gfp) in skb_page_frag_refill() argument
3189 if (pfrag->page) { in skb_page_frag_refill()
3190 if (page_ref_count(pfrag->page) == 1) { in skb_page_frag_refill()
3191 pfrag->offset = 0; in skb_page_frag_refill()
3194 if (pfrag->offset + sz <= pfrag->size) in skb_page_frag_refill()
3196 put_page(pfrag->page); in skb_page_frag_refill()
3199 pfrag->offset = 0; in skb_page_frag_refill()
3203 pfrag in skb_page_frag_refill()
3221 sk_page_frag_refill(struct sock * sk,struct page_frag * pfrag) sk_page_frag_refill() argument
[all...]
H A Dskbuff.c3116 struct page_frag *pfrag = sk_page_frag(sk); in linear_to_page() local
3118 if (!sk_page_frag_refill(sk, pfrag)) in linear_to_page()
3121 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page()
3123 memcpy(page_address(pfrag->page) + pfrag->offset, in linear_to_page()
3125 *offset = pfrag->offset; in linear_to_page()
3126 pfrag->offset += *len; in linear_to_page()
3128 return pfrag->page; in linear_to_page()
/linux/net/mptcp/
H A Dprotocol.c1137 const struct page_frag *pfrag, in mptcp_frag_can_collapse_to() argument
1141 pfrag->page == df->page && in mptcp_frag_can_collapse_to()
1142 pfrag->size - pfrag->offset > 0 && in mptcp_frag_can_collapse_to()
1143 pfrag->offset == (df->offset + df->data_len) && in mptcp_frag_can_collapse_to()
1252 static bool mptcp_page_frag_refill(struct sock *sk, struct page_frag *pfrag) in mptcp_page_frag_refill() argument
1255 pfrag, sk->sk_allocation))) in mptcp_page_frag_refill()
1263 mptcp_carve_data_frag(const struct mptcp_sock *msk, struct page_frag *pfrag, in mptcp_carve_data_frag() argument
1269 dfrag = (struct mptcp_data_frag *)(page_to_virt(pfrag->page) + offset); in mptcp_carve_data_frag()
1275 dfrag->page = pfrag->page; in mptcp_carve_data_frag()
2002 struct page_frag *pfrag; in mptcp_sendmsg() local
[all …]
/linux/fs/ceph/
H A Dinode.c367 struct ceph_inode_frag *pfrag, int *found) in __ceph_choose_frag() argument
384 if (pfrag) in __ceph_choose_frag()
385 memcpy(pfrag, frag, sizeof(*pfrag)); in __ceph_choose_frag()
410 struct ceph_inode_frag *pfrag, int *found) in ceph_choose_frag() argument
414 ret = __ceph_choose_frag(ci, v, pfrag, found); in ceph_choose_frag()
H A Dsuper.h819 struct ceph_inode_frag *pfrag,
/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()
3885 struct iscsi_sge *pfrag; in beiscsi_init_sgl_handle() local
3961 pfrag = mem_descr_sg->mem_array[idx].virtual_address; in beiscsi_init_sgl_handle()
3972 psgl_handle->pfrag = pfrag; in beiscsi_init_sgl_handle()
3973 AMAP_SET_BITS(struct amap_iscsi_sge, addr_hi, pfrag, 0); in beiscsi_init_sgl_handle()
3974 AMAP_SET_BITS(struct amap_iscsi_sge, addr_lo, pfrag, 0); in beiscsi_init_sgl_handle()
3975 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.h2669 bool sk_page_frag_refill(struct sock *sk, struct page_frag *pfrag);
/linux/include/linux/
H A Dskbuff.h3801 bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t prio);