All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Ogness <john.ogness@linutronix.de>
To: Petr Mladek <pmladek@suse.com>
Cc: Andrea Parri <parri.andrea@gmail.com>,
	Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
	Paul McKenney <paulmck@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	Steven Rostedt <rostedt@goodmis.org>,
	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: truncate dict: was: Re: [PATCH v3 3/3] printk: use the lockless ringbuffer
Date: Fri, 26 Jun 2020 15:48:42 +0200	[thread overview]
Message-ID: <87wo3u2b0l.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <20200625081650.GE6156@alley> (Petr Mladek's message of "Thu, 25 Jun 2020 10:16:50 +0200")

On 2020-06-25, Petr Mladek <pmladek@suse.com> wrote:
>> --- a/kernel/printk/printk.c
>> +++ b/kernel/printk/printk.c
>> @@ -594,22 +473,26 @@ static u32 msg_used_size(u16 text_len, u16 dict_len, u32 *pad_len)
>>  #define MAX_LOG_TAKE_PART 4
>>  static const char trunc_msg[] = "<truncated>";
>>  
>> -static u32 truncate_msg(u16 *text_len, u16 *trunc_msg_len,
>> -			u16 *dict_len, u32 *pad_len)
>> +static void truncate_msg(u16 *text_len, u16 *trunc_msg_len, u16 *dict_len)
>>  {
>>  	/*
>>  	 * The message should not take the whole buffer. Otherwise, it might
>>  	 * get removed too soon.
>>  	 */
>>  	u32 max_text_len = log_buf_len / MAX_LOG_TAKE_PART;
>> +
>>  	if (*text_len > max_text_len)
>>  		*text_len = max_text_len;
>> -	/* enable the warning message */
>> +
>> +	/* enable the warning message (if there is room) */
>>  	*trunc_msg_len = strlen(trunc_msg);
>> +	if (*text_len >= *trunc_msg_len)
>> +		*text_len -= *trunc_msg_len;
>> +	else
>> +		*trunc_msg_len = 0;
>> +
>>  	/* disable the "dict" completely */
>>  	*dict_len = 0;
>
> The dictionary does not longer need to be removed at this point.
> It is stored in a separate buffer. It is ignored by prb_reserve()
> when there is not enough space for it.

Agreed. @dict_len argument will also be dropped from the function.

John Ogness

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: John Ogness <john.ogness@linutronix.de>
To: Petr Mladek <pmladek@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrea Parri <parri.andrea@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Paul McKenney <paulmck@kernel.org>,
	kexec@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: truncate dict: was: Re: [PATCH v3 3/3] printk: use the lockless ringbuffer
Date: Fri, 26 Jun 2020 15:48:42 +0200	[thread overview]
Message-ID: <87wo3u2b0l.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <20200625081650.GE6156@alley> (Petr Mladek's message of "Thu, 25 Jun 2020 10:16:50 +0200")

On 2020-06-25, Petr Mladek <pmladek@suse.com> wrote:
>> --- a/kernel/printk/printk.c
>> +++ b/kernel/printk/printk.c
>> @@ -594,22 +473,26 @@ static u32 msg_used_size(u16 text_len, u16 dict_len, u32 *pad_len)
>>  #define MAX_LOG_TAKE_PART 4
>>  static const char trunc_msg[] = "<truncated>";
>>  
>> -static u32 truncate_msg(u16 *text_len, u16 *trunc_msg_len,
>> -			u16 *dict_len, u32 *pad_len)
>> +static void truncate_msg(u16 *text_len, u16 *trunc_msg_len, u16 *dict_len)
>>  {
>>  	/*
>>  	 * The message should not take the whole buffer. Otherwise, it might
>>  	 * get removed too soon.
>>  	 */
>>  	u32 max_text_len = log_buf_len / MAX_LOG_TAKE_PART;
>> +
>>  	if (*text_len > max_text_len)
>>  		*text_len = max_text_len;
>> -	/* enable the warning message */
>> +
>> +	/* enable the warning message (if there is room) */
>>  	*trunc_msg_len = strlen(trunc_msg);
>> +	if (*text_len >= *trunc_msg_len)
>> +		*text_len -= *trunc_msg_len;
>> +	else
>> +		*trunc_msg_len = 0;
>> +
>>  	/* disable the "dict" completely */
>>  	*dict_len = 0;
>
> The dictionary does not longer need to be removed at this point.
> It is stored in a separate buffer. It is ignored by prb_reserve()
> when there is not enough space for it.

Agreed. @dict_len argument will also be dropped from the function.

John Ogness

  reply	other threads:[~2020-06-26 13:48 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-18 14:49 [PATCH v3 0/3] printk: replace ringbuffer John Ogness
2020-06-18 14:49 ` John Ogness
2020-06-18 14:49 ` [PATCH v3 1/3] crash: add VMCOREINFO macro to define offset in a struct declared by typedef John Ogness
2020-06-18 14:49   ` John Ogness
2020-06-24  8:49   ` Petr Mladek
2020-06-24  8:49     ` Petr Mladek
2020-07-04  9:30   ` Baoquan He
2020-07-04  9:30     ` Baoquan He
2020-06-18 14:49 ` [PATCH v3 2/3] printk: add lockless ringbuffer John Ogness
2020-06-18 14:49   ` John Ogness
2020-06-29 15:32   ` Paul E. McKenney
2020-06-29 15:32     ` Paul E. McKenney
2020-07-02  8:35   ` Petr Mladek
2020-07-02  8:35     ` Petr Mladek
2020-06-18 14:49 ` [PATCH v3 3/3] printk: use the " John Ogness
2020-06-18 14:49   ` John Ogness
2020-06-18 18:23   ` kernel test robot
2020-06-18 18:23     ` kernel test robot
2020-06-18 18:23     ` kernel test robot
2020-06-18 18:23   ` [RFC PATCH] printk: _printk_rb_static_dict can be static kernel test robot
2020-06-18 18:23     ` kernel test robot
2020-06-18 18:23     ` kernel test robot
2020-06-19  6:49     ` John Ogness
2020-06-19  6:49       ` John Ogness
2020-06-19  6:49       ` John Ogness
2020-06-19 12:29       ` Steven Rostedt
2020-06-19 12:29         ` Steven Rostedt
2020-06-19 12:29         ` Steven Rostedt
2020-06-25  8:16   ` truncate dict: was: Re: [PATCH v3 3/3] printk: use the lockless ringbuffer Petr Mladek
2020-06-25  8:16     ` Petr Mladek
2020-06-26 13:48     ` John Ogness [this message]
2020-06-26 13:48       ` John Ogness
2020-06-25  8:28   ` buffer allocation: was: " Petr Mladek
2020-06-25  8:28     ` Petr Mladek
2020-06-26 15:02     ` John Ogness
2020-06-26 15:02       ` John Ogness
2020-06-29 14:04       ` Petr Mladek
2020-06-29 14:04         ` Petr Mladek
2020-06-29 21:57         ` John Ogness
2020-06-29 21:57           ` John Ogness
2020-07-02 13:27           ` Petr Mladek
2020-07-02 13:27             ` Petr Mladek
2020-06-25 12:09   ` record_printk_text tricks: " Petr Mladek
2020-06-25 12:09     ` Petr Mladek
2020-06-25 15:25     ` Petr Mladek
2020-06-25 15:25       ` Petr Mladek
2020-06-26 23:25     ` John Ogness
2020-06-26 23:25       ` John Ogness
2020-06-25 15:17   ` pending output optimization: " Petr Mladek
2020-06-25 15:17     ` Petr Mladek
2020-07-01 19:58     ` John Ogness
2020-07-01 19:58       ` John Ogness
2020-06-25 15:20   ` syslog size unread: " Petr Mladek
2020-06-25 15:20     ` Petr Mladek
2020-06-29 21:51     ` John Ogness
2020-06-29 21:51       ` John Ogness
2020-07-02  8:25   ` lijiang
2020-07-02  8:25     ` lijiang
2020-07-02  9:02     ` John Ogness
2020-07-02  9:02       ` John Ogness
2020-07-02  9:43       ` lijiang
2020-07-02  9:43         ` lijiang
2020-07-02 13:31         ` Petr Mladek
2020-07-02 13:31           ` Petr Mladek
2020-07-04  1:12           ` lijiang
2020-07-04  1:12             ` lijiang
2020-07-03 11:54         ` John Ogness
2020-07-03 11:54           ` John Ogness
2020-07-08  5:50           ` lijiang
2020-07-08  5:50             ` lijiang
2020-06-25  7:19 ` [PATCH v3 0/3] printk: replace ringbuffer Dave Young
2020-06-25  7:19   ` Dave Young
2020-06-25 14:13   ` John Ogness
2020-06-25 14:13     ` John Ogness

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wo3u2b0l.fsf@jogness.linutronix.de \
    --to=john.ogness@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=parri.andrea@gmail.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=sergey.senozhatsky.work@gmail.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.