Re: synchronization model: was: Re: [PATCH printk-rework 09/14] printk: introduce a kmsg_dump iterator
From: John Ogness
Date: Fri Feb 26 2021 - 03:41:04 EST
On 2021-02-25, Petr Mladek <pmladek@xxxxxxxx> wrote:
> IMHO, a better design would be:
>
> 1. dumper->dump() callback should have only one parameter @reason.
> The callback should define its own iterator, buffer, and
> do the dump.
Unfortunately this won't work because drivers/mtd/mtdoops.c is using the
dumper parameter for container_of().
So we will need 2 parameters: dumper and reason.
Can we agree to proceed with 2 parameters in the callback?
> 2. dumpe->dump() callback should synchronize the entire operation
> using its own locks. Only the callback knows whether it is
> safe to do more dumps in parallel. Only the callback knows
> whether it is called only during panic() when no locks
> are needed.
Agreed. I implemented this part for the v3 series.
John Ogness