| /linux/net/tls/ |
| H A D | tls_device.c | 258 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 in tls_device_record_close() 343 tls_create_new_record(struct tls_offload_context_tx * offload_ctx,struct page_frag * pfrag,size_t prepend_size) tls_create_new_record() argument 368 tls_do_allocation(struct sock * sk,struct tls_offload_context_tx * offload_ctx,struct page_frag * pfrag,size_t prepend_size) tls_do_allocation() argument 431 struct page_frag *pfrag; tls_push_data() local [all...] |
| /linux/net/ipv6/ |
| H A D | esp6.c | 470 struct page_frag *pfrag = &x->xfrag; in esp6_output_head() local 478 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_head() 483 page = pfrag->page; in esp6_output_head() 486 tail = page_address(page) + pfrag->offset; in esp6_output_head() 492 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp6_output_head() 496 pfrag->offset = pfrag->offset + allocsize; in esp6_output_head() 584 struct page_frag *pfrag = &x->xfrag; in esp6_output_tail() local 589 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp6_output_tail() 596 page = pfrag->page; in esp6_output_tail() 599 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp6_output_tail() [all …]
|
| H A D | ip6_output.c | 1454 struct page_frag *pfrag, in __ip6_append_data() argument 1805 if (!sk_page_frag_refill(sk, pfrag)) in __ip6_append_data() 1809 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip6_append_data() 1810 pfrag->offset)) { in __ip6_append_data() 1815 __skb_fill_page_desc(skb, i, pfrag->page, in __ip6_append_data() 1816 pfrag->offset, 0); in __ip6_append_data() 1818 get_page(pfrag->page); in __ip6_append_data() 1820 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip6_append_data() 1823 page_address(pfrag->page) + pfrag->offset, in __ip6_append_data() 1827 pfrag->offset += copy; in __ip6_append_data()
|
| /linux/net/ipv4/ |
| H A D | esp4.c | 440 struct page_frag *pfrag = &x->xfrag; in esp_output_head() local 448 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_head() 453 page = pfrag->page; in esp_output_head() 456 tail = page_address(page) + pfrag->offset; in esp_output_head() 462 __skb_fill_page_desc(skb, nfrags, page, pfrag->offset, in esp_output_head() 466 pfrag->offset = pfrag->offset + allocsize; in esp_output_head() 552 struct page_frag *pfrag = &x->xfrag; in esp_output_tail() local 557 if (unlikely(!skb_page_frag_refill(allocsize, pfrag, GFP_ATOMIC))) { in esp_output_tail() 564 page = pfrag->page; in esp_output_tail() 567 __skb_fill_page_desc(skb, 0, page, pfrag->offset, skb->data_len); in esp_output_tail() [all …]
|
| H A D | ip_output.c | 957 struct page_frag *pfrag, in __ip_append_data() argument 1243 if (!sk_page_frag_refill(sk, pfrag)) in __ip_append_data() 1247 if (!skb_can_coalesce(skb, i, pfrag->page, in __ip_append_data() 1248 pfrag->offset)) { in __ip_append_data() 1253 __skb_fill_page_desc(skb, i, pfrag->page, in __ip_append_data() 1254 pfrag->offset, 0); in __ip_append_data() 1256 get_page(pfrag->page); in __ip_append_data() 1258 copy = min_t(int, copy, pfrag->size - pfrag->offset); in __ip_append_data() 1261 page_address(pfrag->page) + pfrag->offset, in __ip_append_data() 1265 pfrag->offset += copy; in __ip_append_data()
|
| H A D | tcp_output.c | 4206 struct page_frag *pfrag = sk_page_frag(sk); in tcp_send_syn_data() local 4229 pfrag, sk->sk_allocation)) in tcp_send_syn_data() 4236 space = min_t(size_t, space, pfrag->size - pfrag->offset); in tcp_send_syn_data() 4240 space = copy_page_from_iter(pfrag->page, pfrag->offset, in tcp_send_syn_data() 4247 skb_fill_page_desc(syn_data, 0, pfrag->page, in tcp_send_syn_data() 4248 pfrag->offset, space); in tcp_send_syn_data() 4249 page_ref_inc(pfrag->page); in tcp_send_syn_data() 4250 pfrag in tcp_send_syn_data() [all...] |
| /linux/net/kcm/ |
| H A D | kcmsock.c | 812 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 D | sock.c | 3177 bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t gfp) in skb_page_frag_refill() argument 3179 if (pfrag->page) { in skb_page_frag_refill() 3180 if (page_ref_count(pfrag->page) == 1) { in skb_page_frag_refill() 3181 pfrag->offset = 0; in skb_page_frag_refill() 3184 if (pfrag->offset + sz <= pfrag->size) in skb_page_frag_refill() 3186 put_page(pfrag->page); in skb_page_frag_refill() 3189 pfrag->offset = 0; in skb_page_frag_refill() 3193 pfrag->page = alloc_pages((gfp & ~__GFP_DIRECT_RECLAIM) | in skb_page_frag_refill() 3197 if (likely(pfrag->page)) { in skb_page_frag_refill() 3198 pfrag->size = PAGE_SIZE << SKB_FRAG_PAGE_ORDER; in skb_page_frag_refill() [all …]
|
| H A D | skbuff.c | 3116 struct page_frag *pfrag = sk_page_frag(sk); in linear_to_page() 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 spd_can_coalesce() 3113 struct page_frag *pfrag = sk_page_frag(sk); linear_to_page() local
|
| /linux/net/mptcp/ |
| H A D | protocol.c | 1135 const struct page_frag *pfrag, in mptcp_frag_can_collapse_to() argument 1139 pfrag->page == df->page && in mptcp_frag_can_collapse_to() 1140 pfrag->size - pfrag->offset > 0 && in mptcp_frag_can_collapse_to() 1141 pfrag->offset == (df->offset + df->data_len) && in mptcp_frag_can_collapse_to() 1250 static bool mptcp_page_frag_refill(struct sock *sk, struct page_frag *pfrag) in mptcp_page_frag_refill() argument 1253 pfrag, sk->sk_allocation))) in mptcp_page_frag_refill() 1261 mptcp_carve_data_frag(const struct mptcp_sock *msk, struct page_frag *pfrag, in mptcp_carve_data_frag() argument 1267 dfrag = (struct mptcp_data_frag *)(page_to_virt(pfrag->page) + offset); in mptcp_carve_data_frag() 1273 dfrag->page = pfrag->page; in mptcp_carve_data_frag() 1997 struct page_frag *pfrag; in mptcp_sendmsg() local [all …]
|
| /linux/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() 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 D | be_main.h | 212 struct iscsi_sge *pfrag; member
|