Re: [PATCH linux-next] RFC: torture: add pr_flush to flush the results to console

From: Paul E. McKenney
Date: Wed Jun 15 2022 - 01:15:32 EST


On Wed, Jun 15, 2022 at 08:37:33AM +0800, zhouzhouyi@xxxxxxxxx wrote:
> From: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>
>
> currently tools/testing/selftests/rcutorture/bin/torture.sh reports
> false positve because of kthread printing.
>
> Commit "printk: add functions to prefer direct printing" (2bb2b7b57f812)
> have added functions to prefer direct printing activated for the primary
> import messages.
>
> Meanwhile adding printk_prefer_direct_enter/exit to
> torture_cleanup_begin/end still can't eliminate the false positives
> for a hundred percent.
>
> This patch add pr_flush to torture_cleanup_end because the latter
> is sleepable.
>
> Reported-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>
> Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>
> Tested-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>

Just the one Signed-off-by suffices. ;-)

> ---
> kernel/torture.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/kernel/torture.c b/kernel/torture.c
> index 789aeb0e1159..b51e42463a67 100644
> --- a/kernel/torture.c
> +++ b/kernel/torture.c
> @@ -878,6 +878,7 @@ void torture_cleanup_end(void)
> mutex_lock(&fullstop_mutex);
> torture_type = NULL;
> mutex_unlock(&fullstop_mutex);
> + pr_flush(1000, true);

But in this case, the kernel keeps on running, correct? So won't the
output appear over time? All of printk()'s kthreads are still running
after all.

Or do you have a use case that requires that the output appear sooner
than it does? If so, please let me know what that is.

Thanx, Paul

> }
> EXPORT_SYMBOL_GPL(torture_cleanup_end);
>
> --
> 2.25.1
>