Re: [patch 1/2] x86_64 page fault NMI-safe

Linus Torvalds
2010-08-03T20:32:19Z

On Tue, Aug 3, 2010 at 12:45 PM, Mathieu Desnoyers
<mathieu.desnoyers@efficios.com> wrote:
>
> The real issue here, IMHO, is that Perf has tied gory ring buffer implementation
> details to the userspace perf ABI, and there is now strong unwillingness from
> Perf developers to break this ABI.

The thing is - I think my outlined buffer fragmentation model would
work fine with the perf ABI too. Exactly because there is no deep
structure, just the same "stream of small events" both from a kernel
and a user model standpoint. Sure, the stream would now contain a new
event type, but that's trivial. It would still be _entirely_
reasonable to have the actual data in the exact same ring buffer,
including the whole mmap'ed area.

Of course, when user space actually parses it, user space would have
to eventually defragment the event by allocating a new area and
copying the fragments together in the right order, but that's pretty
trivial to do. It certainly doesn't affect the current mmap'ed
interface in the least.

Now, whether the perf people feel they want that kind of
functionality, I don't know. It's possible that they simply do not
want to handle events that are complex enough that they would have
arbitrary size.

Linus