| /linux-6.15/net/tls/ |
| H A D | tls_device.c | 267 skb_frag_fill_page_desc(frag, pfrag->page, pfrag->offset, in tls_append_frag() 270 get_page(pfrag->page); in tls_append_frag() 273 pfrag->offset += size; in tls_append_frag() 326 if (unlikely(pfrag->size - pfrag->offset < prot->tag_size) && in tls_device_record_close() 330 pfrag = &dummy_tag_frag; in tls_device_record_close() 352 skb_frag_fill_page_desc(frag, pfrag->page, pfrag->offset, in tls_create_new_record() 355 get_page(pfrag->page); in tls_create_new_record() 383 if (pfrag->size > pfrag->offset) in tls_do_allocation() 428 struct page_frag *pfrag; in tls_push_data() local 457 pfrag = sk_page_frag(sk); in tls_push_data() [all …]
|
| /linux-6.15/net/ipv4/ |
| H A D | esp4.c | 434 struct page_frag *pfrag = &x->xfrag; in esp_output_head() local 442 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_head() 447 page = pfrag->page; in esp_output_head() 450 tail = page_address(page) + pfrag->offset; in esp_output_head() 456 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp_output_head() 460 pfrag->offset = pfrag->offset + allocsize; in esp_output_head() 546 struct page_frag *pfrag = &x->xfrag; in esp_output_tail() local 551 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_tail() 558 page = pfrag->page; in esp_output_tail() 561 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp_output_tail() [all …]
|
| H A D | ip_output.c | 947 struct page_frag *pfrag, in __ip_append_data() argument 1234 if (!sk_page_frag_refill(sk, pfrag)) in __ip_append_data() 1238 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip_append_data() 1239 pfrag->offset)) { in __ip_append_data() 1244 __skb_fill_page_desc(skb, i, pfrag->page, in __ip_append_data() 1245 pfrag->offset, 0); in __ip_append_data() 1247 get_page(pfrag->page); in __ip_append_data() 1249 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip_append_data() 1252 page_address(pfrag->page) + pfrag->offset, in __ip_append_data() 1256 pfrag->offset += copy; in __ip_append_data()
|
| H A D | tcp.c | 1204 struct page_frag *pfrag = sk_page_frag(sk); in tcp_sendmsg_locked() local 1206 if (!sk_page_frag_refill(sk, pfrag)) in tcp_sendmsg_locked() 1209 if (!skb_can_coalesce(skb, i, pfrag->page, in tcp_sendmsg_locked() 1210 pfrag->offset)) { in tcp_sendmsg_locked() 1218 copy = min_t(int, copy, pfrag->size - pfrag->offset); in tcp_sendmsg_locked() 1231 pfrag->page, in tcp_sendmsg_locked() 1232 pfrag->offset, in tcp_sendmsg_locked() 1241 skb_fill_page_desc(skb, i, pfrag->page, in tcp_sendmsg_locked() 1242 pfrag->offset, copy); in tcp_sendmsg_locked() 1243 page_ref_inc(pfrag->page); in tcp_sendmsg_locked() [all …]
|
| H A D | tcp_output.c | 3982 struct page_frag *pfrag = sk_page_frag(sk); in tcp_send_syn_data() local 4005 pfrag, sk->sk_allocation)) in tcp_send_syn_data() 4012 space = min_t(size_t, space, pfrag->size - pfrag->offset); in tcp_send_syn_data() 4016 space = copy_page_from_iter(pfrag->page, pfrag->offset, in tcp_send_syn_data() 4023 skb_fill_page_desc(syn_data, 0, pfrag->page, in tcp_send_syn_data() 4024 pfrag->offset, space); in tcp_send_syn_data() 4025 page_ref_inc(pfrag->page); in tcp_send_syn_data() 4026 pfrag->offset += space; in tcp_send_syn_data()
|
| /linux-6.15/net/ipv6/ |
| H A D | esp6.c | 463 struct page_frag *pfrag = &x->xfrag; in esp6_output_head() local 471 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_head() 476 page = pfrag->page; in esp6_output_head() 479 tail = page_address(page) + pfrag->offset; in esp6_output_head() 485 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp6_output_head() 489 pfrag->offset = pfrag->offset + allocsize; in esp6_output_head() 577 struct page_frag *pfrag = &x->xfrag; in esp6_output_tail() local 582 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_tail() 589 page = pfrag->page; in esp6_output_tail() 592 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp6_output_tail() [all …]
|
| H A D | ip6_output.c | 1421 struct page_frag *pfrag, in __ip6_append_data() argument 1772 if (!sk_page_frag_refill(sk, pfrag)) in __ip6_append_data() 1776 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip6_append_data() 1777 pfrag->offset)) { in __ip6_append_data() 1782 __skb_fill_page_desc(skb, i, pfrag->page, in __ip6_append_data() 1783 pfrag->offset, 0); in __ip6_append_data() 1785 get_page(pfrag->page); in __ip6_append_data() 1787 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip6_append_data() 1790 page_address(pfrag->page) + pfrag->offset, in __ip6_append_data() 1794 pfrag->offset += copy; in __ip6_append_data()
|
| /linux-6.15/net/kcm/ |
| H A D | kcmsock.c | 807 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-6.15/net/core/ |
| H A D | skmsg.c | 30 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 D | sock.c | 3086 if (pfrag->page) { in skb_page_frag_refill() 3087 if (page_ref_count(pfrag->page) == 1) { in skb_page_frag_refill() 3088 pfrag->offset = 0; in skb_page_frag_refill() 3091 if (pfrag->offset + sz <= pfrag->size) in skb_page_frag_refill() 3093 put_page(pfrag->page); in skb_page_frag_refill() 3096 pfrag->offset = 0; in skb_page_frag_refill() 3104 if (likely(pfrag->page)) { in skb_page_frag_refill() 3105 pfrag->size = PAGE_SIZE << SKB_FRAG_PAGE_ORDER; in skb_page_frag_refill() 3109 pfrag->page = alloc_page(gfp); in skb_page_frag_refill() 3110 if (likely(pfrag->page)) { in skb_page_frag_refill() [all …]
|
| H A D | skbuff.c | 3041 struct page_frag *pfrag = sk_page_frag(sk); in linear_to_page() local 3043 if (!sk_page_frag_refill(sk, pfrag)) in linear_to_page() 3046 *len = min_t(unsigned int, *len, pfrag->size - pfrag->offset); in linear_to_page() 3048 memcpy(page_address(pfrag->page) + pfrag->offset, in linear_to_page() 3050 *offset = pfrag->offset; in linear_to_page() 3051 pfrag->offset += *len; in linear_to_page() 3053 return pfrag->page; in linear_to_page()
|
| /linux-6.15/net/mptcp/ |
| H A D | protocol.c | 885 const struct page_frag *pfrag, in mptcp_frag_can_collapse_to() argument 888 return df && pfrag->page == df->page && in mptcp_frag_can_collapse_to() 889 pfrag->size - pfrag->offset > 0 && in mptcp_frag_can_collapse_to() 1008 pfrag, sk->sk_allocation))) in mptcp_page_frag_refill() 1028 dfrag->page = pfrag->page; in mptcp_carve_data_frag() 1717 struct page_frag *pfrag; in mptcp_sendmsg() local 1751 pfrag = sk_page_frag(sk); in mptcp_sendmsg() 1771 if (!mptcp_page_frag_refill(sk, pfrag)) in mptcp_sendmsg() 1774 dfrag = mptcp_carve_data_frag(msk, pfrag, pfrag->offset); in mptcp_sendmsg() 1783 psize = pfrag->size - offset; in mptcp_sendmsg() [all …]
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_tx.c | 604 void **pfrag) in is_inline() argument 615 *pfrag = ptr; in is_inline() 639 void **pfrag, in get_real_size() argument 675 shinfo, pfrag); in get_real_size()
|
| /linux-6.15/fs/ceph/ |
| H A D | inode.c | 321 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()
|
| H A D | super.h | 746 struct ceph_inode_frag *pfrag,
|
| /linux-6.15/drivers/scsi/be2iscsi/ |
| H A D | be_main.c | 2137 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 D | be_main.h | 212 struct iscsi_sge *pfrag; member
|
| /linux-6.15/include/net/ |
| H A D | sock.h | 2555 bool sk_page_frag_refill(struct sock *sk, struct page_frag *pfrag);
|
| /linux-6.15/include/linux/ |
| H A D | skbuff.h | 3685 bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t prio);
|