• Paul E. McKenney's avatar
    refscale: Avoid false-positive warnings in ref_scale_reader() · 05bc276c
    Paul E. McKenney authored
    If the call to set_cpus_allowed_ptr() in ref_scale_reader()
    fails, a later WARN_ONCE() complains.  But with the advent of
    570a752b ("lib/smp_processor_id: Use is_percpu_thread() instead of
    nr_cpus_allowed"), this complaint can be drowned out by complaints from
    smp_processor_id().  The rationale for this change is that refscale's
    kthreads are not marked with PF_NO_SETAFFINITY, which means that a system
    administrator could change affinity at any time.
    
    However, refscale is a performance/stress test, and the system
    administrator might well have a valid test-the-test reason for changing
    affinity.  This commit therefore changes to raw_smp_processor_id()
    in order to avoid the noise, and also adds a WARN_ON_ONCE() to the
    call to set_cpus_allowed_ptr() in order to directly detect immediate
    failure.  There is no WARN_ON_ONCE() within the test loop, allowing
    human-reflex-based affinity resetting, if desired.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    05bc276c
refscale.c 19.6 KB