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