Re: [PATCH 0/2] printk: replace ringbuffer
From: Petr Mladek
Date: Thu Feb 13 2020 - 08:07:25 EST
On Wed 2020-02-05 17:12:12, John Ogness wrote:
> On 2020-02-05, lijiang <lijiang@xxxxxxxxxx> wrote:
> > Do you have any suggestions about the size of CONFIG_LOG_* and
> > CONFIG_PRINTK_* options by default?
>
> The new printk implementation consumes more than double the memory that
> the current printk implementation requires. This is because dictionaries
> and meta-data are now stored separately.
>
> If the old defaults (LOG_BUF_SHIFT=17 LOG_CPU_MAX_BUF_SHIFT=12) were
> chosen because they are maximally acceptable defaults, then the defaults
> should be reduced by 1 so that the final size is "similar" to the
> current implementation.
>
> If instead the defaults are left as-is, a machine with less than 64 CPUs
> will reserve 336KiB for printk information (128KiB text, 128KiB
> dictionary, 80KiB meta-data).
>
> It might also be desirable to reduce the dictionary size (maybe 1/4 the
> size of text?).
Good questions. It would be great to check the usage on some real
systems.
In each case, we should inform users when messages and/or dictionaries
were lost.
Also it would be great to have a way (function) that would show how
big parts of the two ring buffers are occupied by valid data. It might
be useful also to detect problems with the ring buffer:
+ too many space reserved but not commited
+ too many records invalidated because of different ordering
in desc ring and data ring.
> However, since the new printk implementation allows for
> non-intrusive dictionaries, we might see their usage increase and start
> to be as large as the messages themselves.
I wish the dictionaries were never added ;-) They complicate the code
and nobody knows how many people actually use the information.
Best Regards,
Petr