OSDN Git Service

scftorture: Count reschedule IPIs
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 14 Jul 2021 13:53:51 +0000 (06:53 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 16 Sep 2021 17:27:48 +0000 (10:27 -0700)
Currently, only those IPIs that invoke scftorture's scf_handler()
IPI handler function are counted.  This means that runs exercising
only scftorture.weight_resched will look like they have made no forward
progress, resulting in "GP HANG" complaints from the rcutorture scripting.
This commit therefore increments the scf_invoked_count per-CPU counter
immediately after calling resched_cpu().

Fixes: 1ac78b49d61d4 ("scftorture: Add an alternative IPI vector")
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/scftorture.c

index 74348ab..00bba2b 100644 (file)
@@ -341,6 +341,7 @@ static void scftorture_invoke_one(struct scf_statistics *scfp, struct torture_ra
                        cpu = torture_random(trsp) % nr_cpu_ids;
                        scfp->n_resched++;
                        resched_cpu(cpu);
+                       this_cpu_inc(scf_invoked_count);
                }
                break;
        case SCF_PRIM_SINGLE: