* [RFC v2 0/2] docs: ftrace: Clarify the RAM impact of buffer_size_kb @ 2019-11-25 4:37 Frank A. Cancio Bello 2019-11-25 4:38 ` [RFC v2 1/2] " Frank A. Cancio Bello 2019-11-25 4:38 ` [RFC v2 2/2] docs: ftrace: Fix typos Frank A. Cancio Bello 0 siblings, 2 replies; 6+ messages in thread From: Frank A. Cancio Bello @ 2019-11-25 4:37 UTC (permalink / raw) To: Steven Rostedt, Ingo Molnar, Jonathan Corbet, linux-doc, linux-kernel Cc: joel, saiprakash.ranjan Clarifies the RAM footprint of buffer_size_kb without getting into implementation details. Changes in v2: - Removes implementation description of the RAM footprint of buffer_size_kb, but still make the corresponded clarification. - Removes a patch that was just for illustration purposes because Steven already got the issue that I was referring to. - Adds a patch to fix other typos in the doc. Frank A. Cancio Bello (2): docs: ftrace: Clarify the RAM impact of buffer_size_kb docs: ftrace: Fix typos Documentation/trace/ftrace.rst | 9 +++++---- Documentation/trace/ring-buffer-design.txt | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC v2 1/2] docs: ftrace: Clarify the RAM impact of buffer_size_kb 2019-11-25 4:37 [RFC v2 0/2] docs: ftrace: Clarify the RAM impact of buffer_size_kb Frank A. Cancio Bello @ 2019-11-25 4:38 ` Frank A. Cancio Bello 2019-11-25 4:38 ` [RFC v2 2/2] docs: ftrace: Fix typos Frank A. Cancio Bello 1 sibling, 0 replies; 6+ messages in thread From: Frank A. Cancio Bello @ 2019-11-25 4:38 UTC (permalink / raw) To: Steven Rostedt, Ingo Molnar, Jonathan Corbet, linux-doc, linux-kernel Cc: joel, saiprakash.ranjan The current text could mislead the user into believing that the number of pages allocated by each CPU ring buffer is calculated by the round up of the division: buffer_size_kb / PAGE_SIZE. Clarifies that a few extra pages may be allocated to accommodate buffer management meta-data. Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Suggested-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Frank A. Cancio Bello <frank@generalsoftwareinc.com> --- Documentation/trace/ftrace.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/trace/ftrace.rst b/Documentation/trace/ftrace.rst index d2b5657ed33e..2b21068ebf8e 100644 --- a/Documentation/trace/ftrace.rst +++ b/Documentation/trace/ftrace.rst @@ -185,7 +185,8 @@ of ftrace. Here is a list of some of the key files: CPU buffer and not total size of all buffers. The trace buffers are allocated in pages (blocks of memory that the kernel uses for allocation, usually 4 KB in size). - If the last page allocated has room for more bytes + A few extra pages may be allocated to accommodate buffer management + meta-data. If the last page allocated has room for more bytes than requested, the rest of the page will be used, making the actual allocation bigger than requested or shown. ( Note, the size may not be a multiple of the page size -- 2.17.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [RFC v2 2/2] docs: ftrace: Fix typos 2019-11-25 4:37 [RFC v2 0/2] docs: ftrace: Clarify the RAM impact of buffer_size_kb Frank A. Cancio Bello 2019-11-25 4:38 ` [RFC v2 1/2] " Frank A. Cancio Bello @ 2019-11-25 4:38 ` Frank A. Cancio Bello 2019-11-25 17:37 ` Steven Rostedt 1 sibling, 1 reply; 6+ messages in thread From: Frank A. Cancio Bello @ 2019-11-25 4:38 UTC (permalink / raw) To: Steven Rostedt, Ingo Molnar, Jonathan Corbet, linux-doc, linux-kernel Cc: joel, saiprakash.ranjan Fix minor typos in the doc. Signed-off-by: Frank A. Cancio Bello <frank@generalsoftwareinc.com> --- Documentation/trace/ftrace.rst | 6 +++--- Documentation/trace/ring-buffer-design.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/trace/ftrace.rst b/Documentation/trace/ftrace.rst index 2b21068ebf8e..9e7b45485ea1 100644 --- a/Documentation/trace/ftrace.rst +++ b/Documentation/trace/ftrace.rst @@ -236,7 +236,7 @@ of ftrace. Here is a list of some of the key files: This interface also allows for commands to be used. See the "Filter commands" section for more details. - As a speed up, since processing strings can't be quite expensive + As a speed up, since processing strings can be quite expensive and requires a check of all functions registered to tracing, instead an index can be written into this file. A number (starting with "1") written will instead select the same corresponding at the line position @@ -383,7 +383,7 @@ of ftrace. Here is a list of some of the key files: By default, 128 comms are saved (see "saved_cmdlines" above). To increase or decrease the amount of comms that are cached, echo - in a the number of comms to cache, into this file. + in the number of comms to cache, into this file. saved_tgids: @@ -3325,7 +3325,7 @@ directories after it is created. As you can see, the new directory looks similar to the tracing directory itself. In fact, it is very similar, except that the buffer and -events are agnostic from the main director, or from any other +events are agnostic from the main directory, or from any other instances that are created. The files in the new directory work just like the files with the diff --git a/Documentation/trace/ring-buffer-design.txt b/Documentation/trace/ring-buffer-design.txt index ff747b6fa39b..2d53c6f25b91 100644 --- a/Documentation/trace/ring-buffer-design.txt +++ b/Documentation/trace/ring-buffer-design.txt @@ -37,7 +37,7 @@ commit_page - a pointer to the page with the last finished non-nested write. cmpxchg - hardware-assisted atomic transaction that performs the following: - A = B iff previous A == C + A = B if previous A == C R = cmpxchg(A, C, B) is saying that we replace A with B if and only if current A is equal to C, and we put the old (current) A into R -- 2.17.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [RFC v2 2/2] docs: ftrace: Fix typos 2019-11-25 4:38 ` [RFC v2 2/2] docs: ftrace: Fix typos Frank A. Cancio Bello @ 2019-11-25 17:37 ` Steven Rostedt 2019-11-25 21:46 ` Steven Rostedt 0 siblings, 1 reply; 6+ messages in thread From: Steven Rostedt @ 2019-11-25 17:37 UTC (permalink / raw) To: Frank A. Cancio Bello Cc: Ingo Molnar, Jonathan Corbet, linux-doc, linux-kernel, joel, saiprakash.ranjan On Sun, 24 Nov 2019 23:38:41 -0500 "Frank A. Cancio Bello" <frank@generalsoftwareinc.com> wrote: > --- a/Documentation/trace/ring-buffer-design.txt > +++ b/Documentation/trace/ring-buffer-design.txt > @@ -37,7 +37,7 @@ commit_page - a pointer to the page with the last finished non-nested write. > > cmpxchg - hardware-assisted atomic transaction that performs the following: > > - A = B iff previous A == C > + A = B if previous A == C This wasn't a typo. "iff" means "if and only if" which is a standard notation. That is, this is shorthand for: A = B if previous A == C previous A == C if A = B -- Steve > > R = cmpxchg(A, C, B) is saying that we replace A with B if and only if > current A is equal to C, and we put the old (current) A into R > -- ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC v2 2/2] docs: ftrace: Fix typos 2019-11-25 17:37 ` Steven Rostedt @ 2019-11-25 21:46 ` Steven Rostedt 2019-11-25 23:49 ` Frank A. Cancio Bello 0 siblings, 1 reply; 6+ messages in thread From: Steven Rostedt @ 2019-11-25 21:46 UTC (permalink / raw) To: Frank A. Cancio Bello Cc: Ingo Molnar, Jonathan Corbet, linux-doc, linux-kernel, joel, saiprakash.ranjan On Mon, 25 Nov 2019 12:37:09 -0500 Steven Rostedt <rostedt@goodmis.org> wrote: > On Sun, 24 Nov 2019 23:38:41 -0500 > "Frank A. Cancio Bello" <frank@generalsoftwareinc.com> wrote: > > > --- a/Documentation/trace/ring-buffer-design.txt > > +++ b/Documentation/trace/ring-buffer-design.txt > > @@ -37,7 +37,7 @@ commit_page - a pointer to the page with the last finished non-nested write. > > > > cmpxchg - hardware-assisted atomic transaction that performs the following: > > > > - A = B iff previous A == C > > + A = B if previous A == C > > This wasn't a typo. "iff" means "if and only if" which is a standard > notation. That is, this is shorthand for: > > A = B if previous A == C > previous A == C if A = B Although thinking about this more, this may not be correct. If previous A == B, then A = B, thus the "iff" notation is not actually accurate. This wouldn't then be a typo fix, but a real fix to the logic ;-) -- Steve > > > > > > R = cmpxchg(A, C, B) is saying that we replace A with B if and only if > > current A is equal to C, and we put the old (current) A into R > > -- ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC v2 2/2] docs: ftrace: Fix typos 2019-11-25 21:46 ` Steven Rostedt @ 2019-11-25 23:49 ` Frank A. Cancio Bello 0 siblings, 0 replies; 6+ messages in thread From: Frank A. Cancio Bello @ 2019-11-25 23:49 UTC (permalink / raw) To: Steven Rostedt Cc: Ingo Molnar, Jonathan Corbet, linux-doc, linux-kernel, joel, saiprakash.ranjan On Mon, Nov 25, 2019 at 04:46:25PM -0500, Steven Rostedt wrote: > On Mon, 25 Nov 2019 12:37:09 -0500 > Steven Rostedt <rostedt@goodmis.org> wrote: > > > On Sun, 24 Nov 2019 23:38:41 -0500 > > "Frank A. Cancio Bello" <frank@generalsoftwareinc.com> wrote: > > > > > --- a/Documentation/trace/ring-buffer-design.txt > > > +++ b/Documentation/trace/ring-buffer-design.txt > > > @@ -37,7 +37,7 @@ commit_page - a pointer to the page with the last finished non-nested write. > > > > > > cmpxchg - hardware-assisted atomic transaction that performs the following: > > > > > > - A = B iff previous A == C > > > + A = B if previous A == C > > > > This wasn't a typo. "iff" means "if and only if" which is a standard > > notation. That is, this is shorthand for: > > > > A = B if previous A == C > > previous A == C if A = B > > Although thinking about this more, this may not be correct. If > previous A == B, then A = B, thus the "iff" notation is not actually > accurate. > > This wouldn't then be a typo fix, but a real fix to the logic ;-) > What are the odds ;) I knew about the concept https://en.wikipedia.org/wiki/If_and_only_if from school math but didn't remember the notation. For me was suspicious so, I looked in "the cmpxchg doc" and nothing referring to "iff" was there, then I decided to classified it as a typo. Now thinking more deeply, I agreed with you that was not a typo but a "logic mistake", even not for the same reason ;) Being not 100% sure of what I'm about to say, I will say it anyway because you have been kind enough to write the second email. "if and only if (shortened as iff) is a biconditional logical connective between statements" and A = B can't be considered a logical statement in the context of that definition (math/logic), even it could be in C. Thank you Steven one more time for such a quick reply! frank a. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-25 23:50 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-11-25 4:37 [RFC v2 0/2] docs: ftrace: Clarify the RAM impact of buffer_size_kb Frank A. Cancio Bello 2019-11-25 4:38 ` [RFC v2 1/2] " Frank A. Cancio Bello 2019-11-25 4:38 ` [RFC v2 2/2] docs: ftrace: Fix typos Frank A. Cancio Bello 2019-11-25 17:37 ` Steven Rostedt 2019-11-25 21:46 ` Steven Rostedt 2019-11-25 23:49 ` Frank A. Cancio Bello
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.