|
libffi trampolines and stack traces? : was Overly brief stack traces for Java/linux ?
and current bcc won't be > pass to parse it since it takes the file name as > "jna9005484735610534564.tmp (deleted)" > The file name is actually taken from /proc/<pid>/maps. > > I
and current bcc won't be > pass to parse it since it takes the file name as > "jna9005484735610534564.tmp (deleted)" > The file name is actually taken from /proc/<pid>/maps. > > I
|
By
Bradley Schatz
· #1987
·
|
|
Overly brief stack traces for Java/linux ?
and current bcc won't be pass to parse it since it takes the file name as "jna9005484735610534564.tmp (deleted)" The file name is actually taken from /proc/<pid>/maps.
and current bcc won't be pass to parse it since it takes the file name as "jna9005484735610534564.tmp (deleted)" The file name is actually taken from /proc/<pid>/maps.
|
By
Bradley Schatz
· #1983
·
|
|
Overly brief stack traces for Java/linux ?
and current bcc won't be pass to parse it since it takes the file name as "jna9005484735610534564.tmp (deleted)" The file name is actually taken from /proc/<pid>/maps.
and current bcc won't be pass to parse it since it takes the file name as "jna9005484735610534564.tmp (deleted)" The file name is actually taken from /proc/<pid>/maps.
|
By
Yonghong Song
· #1982
·
|
|
Weird behaviour when updating a hash map from userspace
Currently debugging a very strange behaviour with eBPF hash maps and was wondering if anyone else has run into a similar issue?
Currently debugging a very strange behaviour with eBPF hash maps and was wondering if anyone else has run into a similar issue?
|
By
...
· #1946
·
|
|
Reading Pinned maps in eBPF Programs
; const char *filename; long flags; long mode; }; /** * Using the magic macro SEC this struct declares * and creates a new bpf map of a type PERF that we * can use to pass data to userspace
; const char *filename; long flags; long mode; }; /** * Using the magic macro SEC this struct declares * and creates a new bpf map of a type PERF that we * can use to pass data to userspace
|
By
Ian
· #1900
·
|
|
Reading Pinned maps in eBPF Programs
p=,,,20,0,0,0::Created,,Userspace+Maps,20,2,0,23673879 that discusses the possibility of this in C++ and BCC.
p=,,,20,0,0,0::Created,,Userspace+Maps,20,2,0,23673879 that discusses the possibility of this in C++ and BCC.
|
By
Ian
· #1892
·
|
|
Building BPF programs and kernel persistence
I have attempted pinning the entire BPF object, various programs and various maps, and no matter what I've tried the kernel BPF program terminates when the userspace process terminates
I have attempted pinning the entire BPF object, various programs and various maps, and no matter what I've tried the kernel BPF program terminates when the userspace process terminates
|
By
Tristan Mayfield
· #1847
·
|
|
Extracting data from tracepoints (and anything else)
Finally, for long-term monitoring solutions and passing readable data, do most programs rely on pinning maps to the vfs instead of using perf buffers or passing directly to a userspace
Finally, for long-term monitoring solutions and passing readable data, do most programs rely on pinning maps to the vfs instead of using perf buffers or passing directly to a userspace
|
By
Tristan Mayfield
· #1827
·
|
|
the size of BPF_MAP_TYPE_PERCPU_ARRAY doesn't match the number of CPU
map defined: struct bpf_map_def SEC("maps/protocount") proto_count = { .type = BPF_MAP_TYPE_PERCPU_ARRAY, .key_size = sizeof(__u32), .value_size = sizeof(__u32), .max_entries = 1, }
map defined: struct bpf_map_def SEC("maps/protocount") proto_count = { .type = BPF_MAP_TYPE_PERCPU_ARRAY, .key_size = sizeof(__u32), .value_size = sizeof(__u32), .max_entries = 1, }
|
By
Forrest Chen
· #1758
·
|
|
minutes: IO Visor TSC/Dev Meeting
* No silver bullet for all use cases * Hesitation for creating a new object to describe existing objects (bpf progs, maps) * BTF is metadata conceptually different from maps, progs
* No silver bullet for all use cases * Hesitation for creating a new object to describe existing objects (bpf progs, maps) * BTF is metadata conceptually different from maps, progs
|
By
Brenden Blanco
· #1624
·
|
|
[PATCHv2 RFC 1/3] afxdp: add ebpf code for afxdp and xskmap.
maps.h +++ b/bpf/maps.h @@ -153,6 +153,18 @@ BPF_PERCPU_ARRAY(percpu_executing_key, 1 ); +/* af_xdp map: + * key can be anything by our design, + * value is the receive queue id the userspace
maps.h +++ b/bpf/maps.h @@ -153,6 +153,18 @@ BPF_PERCPU_ARRAY(percpu_executing_key, 1 ); +/* af_xdp map: + * key can be anything by our design, + * value is the receive queue id the userspace
|
By
William Tu
· #1469
·
|
|
[PATCH RFC 1/3] afxdp: add ebpf code for afxdp and xskmap.
maps.h +++ b/bpf/maps.h @@ -153,6 +153,18 @@ BPF_PERCPU_ARRAY(percpu_executing_key, 1 ); +/* af_xdp map: + * key can be anything by our design, + * value is the receive queue id the userspace
maps.h +++ b/bpf/maps.h @@ -153,6 +153,18 @@ BPF_PERCPU_ARRAY(percpu_executing_key, 1 ); +/* af_xdp map: + * key can be anything by our design, + * value is the receive queue id the userspace
|
By
William Tu
· #1457
·
|
|
[PATCH RFC 0/3] AF_XDP support for OVS
AF_XDP packet forwarding from one netdev (ovs-p0) to another netdev (ovs-p1) goes through the following path: 1) xdp program at ovs-p0 copies packet to kernel (SKB_MODE) 2) kernel maps
AF_XDP packet forwarding from one netdev (ovs-p0) to another netdev (ovs-p1) goes through the following path: 1) xdp program at ovs-p0 copies packet to kernel (SKB_MODE) 2) kernel maps
|
By
William Tu
· #1456
·
|
|
Accessing pinned eBPF map from the kernel
Facebook has used the same mechanism for a while to access externally-pinned maps. bpf_obj_get() intends to be used in userspace, not kernel.
Facebook has used the same mechanism for a while to access externally-pinned maps. bpf_obj_get() intends to be used in userspace, not kernel.
|
By
Yonghong Song
· #1389
·
|
|
[RFC PATCHv2 07/13] bpf: implement OVS BPF datapath.
return ___constant_swab64((OVS_FORCE u64)x); +} + +static ovs_be64 bpf_htonll(u64 x) { + return (OVS_FORCE ovs_be64)___constant_swab64(x); +} + +/* helper macro to place programs, maps
return ___constant_swab64((OVS_FORCE u64)x); +} + +static ovs_be64 bpf_htonll(u64 x) { + return (OVS_FORCE ovs_be64)___constant_swab64(x); +} + +/* helper macro to place programs, maps
|
By
William Tu
· #1374
·
|
|
[RFC PATCHv2 00/13] OVS eBPF datapath.
It enables userspace applications to customize and extend the Linux kernel’s functionality.
It enables userspace applications to customize and extend the Linux kernel’s functionality.
|
By
William Tu
· #1366
·
|
|
[RFC PATCH 07/11] bpf: implement OVS BPF datapath.
+ +#ifndef BPFMAP_OPENVSWITCH_H +#define BPFMAP_OPENVSWITCH_H 1 + +#include "api.h" +#include "openvswitch.h" +#include "ovs-p4.h" + +/* ovs-vswitchd as a writer will update these maps
+ +#ifndef BPFMAP_OPENVSWITCH_H +#define BPFMAP_OPENVSWITCH_H 1 + +#include "api.h" +#include "openvswitch.h" +#include "ovs-p4.h" + +/* ovs-vswitchd as a writer will update these maps
|
By
William Tu
· #1347
·
|
|
[RFC PATCH 00/11] OVS eBPF datapath.
It enables userspace applications to customize and extend the Linux kernel’s functionality.
It enables userspace applications to customize and extend the Linux kernel’s functionality.
|
By
William Tu
· #1339
·
|
|
Best userspace programming API for XDP features query to kernel?
to bpf tail calls and maps used as return values).
to bpf tail calls and maps used as return values).
|
By
Jesper Dangaard Brouer
· #1282
·
|
|
minutes: IO Visor TSC/Dev Meeting
- Same problem for maps - Include offload check at load time instead - New system call for "BPF_PROG_PREPARE", in between load and offload - jit a loaded bpf prog for a specific arch
- Same problem for maps - Include offload check at load time instead - New system call for "BPF_PROG_PREPARE", in between load and offload - jit a loaded bpf prog for a specific arch
|
By
Brenden Blanco
· #1126
·
|