Messages in this thread | | | Date | Fri, 24 May 2019 09:27:26 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH 00/11] bpf, trace, dtrace: DTrace BPF program type implementation and sample use |
| |
On Wed, May 22, 2019 at 02:22:15PM -0400, Kris Van Hees wrote:
> > Let me further NAK it for adding all sorts of garbage to the code -- > > we're not going to do gaps and stay_in_page nonsense. > > Could you give some guidance in terms of an alternative? The ring buffer code > provides both non-contiguous page allocation support and a vmalloc-based > allocation, and the vmalloc version certainly would avoid the entire gap and > page boundary stuff. But since the allocator is chosen at build time based on > the arch capabilities, there is no way to select a specific memory allocator. > I'd be happy to use an alternative approach that allows direct writing into > the ring buffer.
So why can't you do what the regular perf does? Use an output iterator that knows about the page breaks? See perf_output_put() for example.
Anyway, I agree with Alexei and DaveM, get it working without/minimal kernel changes first, and then we can talk about possible optimizations.
| |