* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).