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

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mathieu Desnoyers
Date: Friday, August 6, 2010 - 7:13 am

* Peter Zijlstra (peterz@infradead.org) wrote:
[...]

At _any_ point in the stream ?

So if I take, let's say, a few kB of Perf ring buffer data and I choose to
encode than into an event into another buffer (e.g. we're tracing part of the
network traffic). Then we end up in a situation where the event payload will
contain your "so special" sync point data. Basically, you have no guarantee that
you won't mix up standard event data and your synchronization event headers.

Your sync point solution just kills all encapsulation good practices in one go.


Here I have to bring up the fact that Linux kernel developers are not the only
tracer users.

Traces of multi-GB can be generated easily within a few seconds/minutes on many
workloads, so we're not talking of many-hours-traces here. But if we need to
read the whole trace before it can be shown, we're adding a significant delay
before the trace can be accessed.

In my experience, both brain and data gathering throughputs are limiting factors
to debugging. Drawing fancy pictures merely helps speeding up the brain process
in some cases.



Less code = less instruction cache overhead. I've also shown that the LTTng code
is at least twice faster. In terms of complexity, it is not much more complex; I
also took the extra care of doing the formal proofs to make sure the
corner-cases were dealt with, which I don't reckon neither Steven nor yourself
have done.


I must admit that I probably spent much more time working on the ring buffer
than you did. It looks like one's interest can only focus on so many areas at
once. So if you are not that interested in ring buffers, can you at least stop
opposing to people who care deeply ?

If we agree that we don't care about the same use-cases, there might be room for
many ring buffers in the kernel. It's just a shame that we have to multiply
amount of code-review. We have to note that this goes against Linus' request for
a shared and common ring buffer used by all tracers.



Very interesting. I know the trace clock performance are terrible too. But let's
keep that for another discussion please.


What I said below was: perf cannot write events larger than its buffer size. So
it already has to take that "test" branch for maximum event size. I said nothing
about page size in this context.


I got the intent of the patch, I just somehow missed that this paragraph was
applying to the patch specifically.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 0/2] x86: NMI-safe trap handlers, Mathieu Desnoyers, (Wed Jul 14, 8:49 am)
[patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 8:49 am)
[patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Wed Jul 14, 8:49 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 9:28 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Maciej W. Rozycki, (Wed Jul 14, 9:42 am)
Re: [patch 0/2] x86: NMI-safe trap handlers, Andi Kleen, (Wed Jul 14, 10:06 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 10:06 am)
Re: [patch 0/2] x86: NMI-safe trap handlers, Mathieu Desnoyers, (Wed Jul 14, 10:08 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 11:10 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Wed Jul 14, 11:12 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Jul 14, 11:46 am)
Re: [patch 0/2] x86: NMI-safe trap handlers, Andi Kleen, (Wed Jul 14, 11:56 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 12:14 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Maciej W. Rozycki, (Wed Jul 14, 12:21 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 12:36 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 12:41 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 12:54 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Wed Jul 14, 12:56 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Wed Jul 14, 12:58 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 1:05 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Wed Jul 14, 1:07 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Wed Jul 14, 1:08 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 1:17 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Maciej W. Rozycki, (Wed Jul 14, 1:36 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 1:39 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 1:55 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Jul 14, 2:18 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 2:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Maciej W. Rozycki, (Wed Jul 14, 2:45 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 2:52 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 3:14 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 3:21 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 3:31 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Maciej W. Rozycki, (Wed Jul 14, 3:31 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 3:31 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 3:37 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 3:48 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Jeremy Fitzhardinge, (Wed Jul 14, 3:51 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 3:56 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 4:02 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Wed Jul 14, 4:09 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 4:11 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 4:22 pm)
Re: [patch 0/2] x86: NMI-safe trap handlers, Tejun Heo, (Wed Jul 14, 4:29 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Tejun Heo, (Wed Jul 14, 4:32 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 4:38 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Wed Jul 14, 4:40 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Jeremy Fitzhardinge, (Wed Jul 14, 4:54 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 6:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 6:45 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Thu Jul 15, 7:11 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Thu Jul 15, 7:35 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Thu Jul 15, 7:46 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 7:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 8:38 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 9:26 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 9:44 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 9:49 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 10:38 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 11:31 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 11:43 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 11:48 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 1:44 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 3:01 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 3:16 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 3:24 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 3:26 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 3:30 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 3:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Thu Jul 15, 3:58 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 4:20 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 4:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 4:41 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 4:44 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 4:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Thu Jul 15, 4:48 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Fri Jul 16, 3:47 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Fri Jul 16, 4:21 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Fri Jul 16, 4:43 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Fri Jul 16, 5:00 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 5:28 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Fri Jul 16, 5:54 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 7:49 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 8:34 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 8:40 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 9:47 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 9:58 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 10:54 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Fri Jul 16, 11:05 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 11:15 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Fri Jul 16, 11:17 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 11:22 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 11:25 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 11:28 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 11:32 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 11:37 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Jul 16, 12:13 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 12:26 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:28 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Fri Jul 16, 12:29 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:30 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 12:32 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:32 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:34 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 12:39 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 2:39 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 3:07 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 3:26 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 3:40 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 3:41 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 6:15 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Sun Jul 18, 2:23 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Sun Jul 18, 2:26 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Jul 18, 4:03 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 10:36 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Jul 18, 11:04 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 11:17 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 11:22 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Sun Jul 18, 11:43 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 12:26 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Mon Jul 19, 12:32 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Tue Aug 3, 10:18 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 11:25 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Tue Aug 3, 11:56 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 12:45 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Tue Aug 3, 1:02 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Tue Aug 3, 1:10 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Tue Aug 3, 1:21 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 1:54 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 2:16 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Tue Aug 3, 11:27 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Dave Chinner, (Tue Aug 3, 11:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Tue Aug 3, 11:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Aug 4, 12:14 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Aug 4, 12:21 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Peter Zijlstra, (Wed Aug 4, 2:46 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Aug 4, 7:06 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Aug 4, 7:45 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Wed Aug 4, 7:50 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Wed Aug 4, 7:56 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Wed Aug 4, 1:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Aug 5, 6:42 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Aug 5, 6:49 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Masami Hiramatsu, (Thu Aug 5, 11:18 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 2:50 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 2:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 3:11 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 4:14 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 6:37 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 6:46 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 7:13 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 7:15 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Masami Hiramatsu, (Sat Aug 7, 2:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Mon Aug 9, 9:53 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Wed Aug 11, 7:34 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Wed Aug 11, 7:44 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Sun Aug 15, 6:35 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Aug 15, 9:33 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Sun Aug 15, 9:44 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Aug 15, 9:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Sun Aug 15, 11:31 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Mon Aug 16, 3:49 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Mon Aug 16, 4:29 am)