Hello! I have recently encountered some strange behavior regarding perf buffer lost events (the percpu kind, not the newer ring buffer). In libbpfgo, we pass a callback written in go into the libbpf perf_buffer__new constructor, which, when a lost event count is generated, passes it into a channel exported for consumers. This has been working well for a while now. However, we’ve recently encountered cases where bpf_perf_event_output will return a negative errno (ENOSPC in this case), and no lost event will be reported. Further, when adding some prints into that callback, none of them show up, which indicates that the callback isn’t being triggered at all. We only found this since we’ve introduced a separate counting map which handles negative returns from the output call. Curiously, from the source code I’ve found, this is just the errno currently returned when submit fails, also due to reasons of a full buffer (but also sometimes when the rcu pointer dereference fails). But in any case, the counter for lost events is always updated, at least as far as the source code shows. Has anyone encountered this kind of behavior before? Thanks in advance! Nadav Strahilevitz