| /linux/rust/zerocopy/ |
| H A D | README.md | 1 # `zerocopy` 3 These source files come from the Rust `zerocopy` crate, version v0.8.54 4 (released 2026-07-08), hosted in the <https://github.com/google/zerocopy> 10 https://github.com/google/zerocopy/blob/v0.8.54/README.md?plain=1 11 https://github.com/google/zerocopy/blob/v0.8.54/LICENSE-BSD 12 https://github.com/google/zerocopy/blob/v0.8.54/LICENSE-APACHE 13 https://github.com/google/zerocopy/blob/v0.8.54/LICENSE-MIT
|
| /linux/rust/zerocopy-derive/ |
| H A D | README.md | 1 # `zerocopy-derive` 3 These source files come from the Rust `zerocopy-derive` crate, version v0.8.54 4 (released 2026-07-08), hosted in the <https://github.com/google/zerocopy> 11 https://github.com/google/zerocopy/blob/v0.8.54/README.md?plain=1 12 https://github.com/google/zerocopy/blob/v0.8.54/LICENSE-BSD 13 https://github.com/google/zerocopy/blob/v0.8.54/LICENSE-APACHE 14 https://github.com/google/zerocopy/blob/v0.8.54/LICENSE-MIT
|
| H A D | lib.rs | 11 //! Derive macros for [zerocopy]'s traits. 13 //! [zerocopy]: https://docs.rs/zerocopy 83 #[proc_macro_derive($trait, attributes(zerocopy))] 133 #[proc_macro_derive(most_traits, attributes(zerocopy))]
|
| H A D | util.rs | 27 // The value of the last `#[zerocopy(on_error = ...)]` attribute, or `false` 31 // The span of the last `#[zerocopy(on_error = ...)]` attribute, if any. 37 /// `::zerocopy` if not found. 39 let mut path = parse_quote!(::zerocopy); in try_from_derive_input() 45 if meta_list.path.is_ident("zerocopy") { in try_from_derive_input() 71 … "unrecognized value for `on_error` attribute from `zerocopy`; expected `skip` or `fail`", in try_from_derive_input() 540 … type annotations required: cannot resolve `core::marker::PhantomData<&'a u8>: zerocopy::Unaligned` in build() 546 // = note: required by `zerocopy::Unaligned` in build()
|
| /linux/rust/ |
| H A D | Makefile | 12 obj-$(CONFIG_RUST) += zerocopy.o 90 zerocopy-cfgs := \ 93 zerocopy-flags := \ 95 $(call cfgs-to-flags,$(zerocopy-cfgs)) 97 zerocopy-envs := \ 197 rustdoc-kernel rustdoc-pin_init rustdoc-zerocopy rustdoc-zerocopy_derive 233 rustdoc-zerocopy_derive: $(src)/zerocopy-derive/lib.rs rustdoc-clean rustdoc-syn FORCE 255 rustdoc-zerocopy: private rustc_target_envs := $(zerocopy-envs) 256 rustdoc-zerocopy: private is-kernel-object := y 257 rustdoc-zerocopy: private rustc_target_flags = $(zerocopy-flags) \ [all …]
|
| /linux/tools/testing/vsock/ |
| H A D | vsock_perf.c | 37 static bool zerocopy; variable 273 if (zerocopy) in run_sender() 287 if (zerocopy) { in run_sender() 320 zerocopy ? MSG_ZEROCOPY : 0); in run_sender() 328 if (zerocopy) { in run_sender() 359 if (zerocopy) in run_sender() 403 .name = "zerocopy", 422 " --zerocopy Enable zerocopy (for sender mode only)\n" in usage() 485 case 'Z': /* Zerocopy. */ in main() 486 zerocopy = true; in main()
|
| H A D | msg_zerocopy_common.c | 62 * performed as expected: zerocopy or fallback to copy. If NULL in vsock_recv_completion() 69 fprintf(stderr, "serr: was copy instead of zerocopy\n"); in vsock_recv_completion() 74 fprintf(stderr, "serr: was zerocopy instead of copy\n"); in vsock_recv_completion()
|
| /linux/tools/testing/selftests/net/packetdrill/ |
| H A D | tcp_zerocopy_fastopen-client.pkt | 2 // Fastopen client zerocopy test: 9 // zerocopy notification counter is not incremented. Verify this too. 11 --send_omit_free // do not reuse send buffers with zerocopy 24 // Read from error queue: no zerocopy notification 45 // Read from error queue: now has first zerocopy notification
|
| H A D | tcp_zerocopy_maxfrags.pkt | 5 // 1) fit in a single packet without zerocopy 6 // 2) spill over into a second packet with zerocopy, 10 --send_omit_free // do not reuse send buffers with zerocopy 18 // Each pinned zerocopy page is fully accounted to skb->truesize. 44 // send a zerocopy iov of 18 elements: 75 // send a zerocopy iov of 64 elements:
|
| H A D | tcp_zerocopy_fastopen-server.pkt | 2 // Fastopen server zerocopy test: 7 --send_omit_free // do not reuse send buffers with zerocopy 31 // Read from error queue: now has first zerocopy notification
|
| H A D | tcp_zerocopy_closed.pkt | 4 // verify that a send in state TCP_CLOSE correctly aborts the zerocopy 5 // operation, specifically it does not increment the zerocopy counter. 10 --send_omit_free // do not reuse send buffers with zerocopy
|
| H A D | tcp_zerocopy_small.pkt | 2 // small packet zerocopy test: 4 // verify that SO_EE_CODE_ZEROCOPY_COPIED is set on zerocopy 7 --send_omit_free // do not reuse send buffers with zerocopy
|
| H A D | tcp_zerocopy_client.pkt | 2 // Minimal client-side zerocopy test 4 --send_omit_free // do not reuse send buffers with zerocopy
|
| H A D | tcp_zerocopy_batch.pkt | 2 // batch zerocopy test: 6 --send_omit_free // do not reuse send buffers with zerocopy
|
| /linux/rust/zerocopy/src/ |
| H A D | lib.rs | 20 //! Zerocopy makes zero-cost memory manipulation effortless. We write `unsafe` 23 //! *For an overview of what's changed from zerocopy 0.7, check out our [release 26 //! *Have questions? Need more out of zerocopy? Submit a [customer request 30 //! [customer-request-issue]: https://github.com/google/zerocopy/issues/new/choose 31 //! [release-notes]: https://github.com/google/zerocopy/discussions/1680 32 //! [github-q-a]: https://github.com/google/zerocopy/discussions/categories/q-a 39 //! Zerocopy provides four derivable traits for zero-cost conversions: 55 //! Zerocopy provides three derivable marker traits that do not provide any 58 //! - [`KnownLayout`] indicates that zerocopy can reason about certain layout 68 //! Zerocopy provides six macros for safe casting between types: [all …]
|
| H A D | macros.rs | 46 /// # use zerocopy::transmute; 54 /// # use zerocopy::transmute; 228 /// # use zerocopy::transmute_ref; 248 /// # use zerocopy::{transmute_ref, FromBytes, IntoBytes, Immutable}; 262 /// # use zerocopy::{transmute_ref, FromBytes, IntoBytes, Immutable}; 284 /// # use zerocopy::transmute_ref; 295 /// # use {zerocopy::*, zerocopy_derive::*}; 296 /// # type u16 = zerocopy::byteorder::native_endian::U16; 297 /// # type u32 = zerocopy::byteorder::native_endian::U32; 441 /// # use zerocopy::transmute_mut; [all …]
|
| H A D | error.rs | 16 //! Generally speaking, zerocopy's conversions may fail for one of up to three 67 //! [issue-1457]: https://github.com/google/zerocopy/issues/1457 82 //! use zerocopy::*; 95 //! use zerocopy::*; 110 //! use zerocopy::*; 134 /// Zerocopy's generic error type. 136 /// Generally speaking, zerocopy's conversions may fail for one of up to three 149 /// Zerocopy never uses this type directly in its API. Rather, we provide three 180 /// use zerocopy::*; 292 /// use zerocopy::*; [all …]
|
| H A D | split_at.rs | 46 /// releases of zerocopy may make backwards-breaking changes to these items, 53 …doc = concat!("[derive]: https://docs.rs/zerocopy/", env!("CARGO_PKG_VERSION"), "/zerocopy/derive.… 111 /// use zerocopy::{SplitAt, FromBytes}; 199 /// use zerocopy::{SplitAt, FromBytes}; 320 /// use zerocopy::{SplitAt, FromBytes}; 383 /// use zerocopy::{SplitAt, FromBytes}; 432 /// use zerocopy::{SplitAt, FromBytes}; 487 /// use zerocopy::{SplitAt, FromBytes, IntoBytes, network_endian::U16}; 618 /// use zerocopy::{SplitAt, FromBytes}; 674 /// use zerocopy::{SplitAt, FromBytes}; [all …]
|
| H A D | ref.rs | 37 /// use zerocopy::*; 297 /// use zerocopy::*; 351 /// use zerocopy::*; 416 /// use zerocopy::*; 478 /// use zerocopy::*; 529 /// use zerocopy::*; 575 /// use zerocopy::*; 651 .expect("zerocopy internal error: into_ref should be infallible"); in into_ref() 706 .expect("zerocopy internal error: into_ref should be infallible"); in into_mut() 832 .expect("zerocopy internal error: Deref::deref should be infallible"); in deref() [all …]
|
| /linux/rust/zerocopy-derive/derive/ |
| H A D | mod.rs | 34 // deriving a `zerocopy`-defined trait, and these trait impls share a common in derive_hash() 35 // shape that `Hash` does not. In particular, `zerocopy` traits contain a in derive_hash() 62 // deriving a `zerocopy`-defined trait, and these trait impls share a common in derive_eq() 63 // shape that `Eq` does not. In particular, `zerocopy` traits contain a in derive_eq()
|
| /linux/tools/testing/selftests/arm64/fp/ |
| H A D | kernel-test.c | 32 static int zerocopy[2]; variable 182 ret = pipe(zerocopy); in create_socket() 184 printf("Failed to create zerocopy pipe: %s (%d)\n", in create_socket() 211 ret = vmsplice(zerocopy[1], &iov, 1, SPLICE_F_GIFT); in compute_digest() 219 ret = splice(zerocopy[0], NULL, sock, NULL, wrote, 0); in compute_digest()
|
| /linux/Documentation/networking/ |
| H A D | msg_zerocopy.rst | 74 error(1, errno, "setsockopt zerocopy"); 86 A zerocopy failure will return -1 with errno ENOBUFS. This happens if 145 other operations until the error is read. Zerocopy notifications have 217 protocol headers plus zerocopy user data. A packet may need to be 223 before the (copied) data is fully transmitted. A zerocopy completion
|
| /linux/tools/testing/selftests/net/ |
| H A D | msg_zerocopy.c | 23 * If zerocopy mode ('-z') is enabled, the sender will verify that 24 * the kernel queues completions on the error queue for all zerocopy 243 /* in mixed-frags mode, alternate zerocopy and copy frags in do_sendmsg_corked() 244 * start with non-zerocopy, to ensure attach later works in do_sendmsg_corked() 402 int ret, zerocopy; in do_recv_completion() local 447 zerocopy = !(serr->ee_code & SO_EE_CODE_ZEROCOPY_COPIED); in do_recv_completion() 449 cfg_expect_zerocopy != zerocopy) { in do_recv_completion() 451 zerocopy, cfg_expect_zerocopy); in do_recv_completion() 454 cfg_expect_zerocopy = zerocopy; in do_recv_completion() 795 error(1, 0, "-m: cork_mixed requires corking and zerocopy"); in parse_opts()
|
| /linux/drivers/net/ |
| H A D | tap.c | 481 * guest kernel and host kernel when lower device supports zerocopy in tap_open() 483 * The macvlan supports zerocopy iff the lower device supports zero in tap_open() 586 bool zerocopy = false; in tap_get_user() local 614 zerocopy = true; in tap_get_user() 617 if (!zerocopy) { in tap_get_user() 627 if (zerocopy) in tap_get_user() 667 if (zerocopy) { in tap_get_user()
|
| /linux/tools/perf/trace/beauty/ |
| H A D | msg_flags.c | 66 P_MSG_FLAG(ZEROCOPY); in syscall_arg__scnprintf_msg_flags()
|