Re: [PATCH printk v4 8/8] printk: adjust string limit macros
From: Petr Mladek
Date: Fri Jan 06 2023 - 06:11:21 EST
On Thu 2023-01-05 11:43:35, John Ogness wrote:
> The various internal size limit macros have names and/or values that
> do not fit well to their current usage.
>
> Rename the macros so that their purpose is clear and, if needed,
> provide a more appropriate value. In general, the new macros and
> values will lead to less memory usage. The new macros are...
>
> PRINTK_MESSAGE_MAX:
>
> This is the maximum size for a formatted message on a console,
> devkmsg, or syslog. It does not matter which format the message has
> (normal or extended). It replaces the use of CONSOLE_EXT_LOG_MAX for
> console and devkmsg. It replaces the use of CONSOLE_LOG_MAX for
> syslog.
>
> Historically, normal messages have been allowed to print up to 1kB,
> whereas extended messages have been allowed to print up to 8kB.
> However, the difference in lengths of these message types is not
> significant and in multi-line records, normal messages are probably
> larger. Also, because 1kB is only slightly above the allowed record
> size, multi-line normal messages could be easily truncated during
> formatting.
>
> This new macro should be significantly larger than the allowed
> record size to allow sufficient space for extended or multi-line
> prefix text. A value of 2kB should be plenty of space. For normal
> messages this represents a doubling of the historically allowed
> amount. For extended messages it reduces the excessive 8kB size,
> thus reducing memory usage needed for message formatting.
>
> PRINTK_PREFIX_MAX:
>
> This is the maximum size allowed for a record prefix (used by
> console and syslog). It replaces PREFIX_MAX. The value is left
> unchanged.
>
> PRINTKRB_RECORD_MAX:
>
> This is the maximum size allowed to be reserved for a record in the
> ringbuffer. It is used by all readers and writers with the printk
> ringbuffer. It replaces LOG_LINE_MAX.
>
> Previously this was set to "1kB - PREFIX_MAX", which makes some
> sense if 1kB is the limit for normal message output and prefixes are
> enabled. However, with the allowance of larger output and the
> existence of multi-line records, the value is rather bizarre.
>
> Round the value up to 1kB.
>
> Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>
I like this.
Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>
Best Regards,
Petr