• Paul E. McKenney's avatar
    rcu-tasks: Merge state into .b.need_qs and atomically update · 3847b645
    Paul E. McKenney authored
    This commit gets rid of the task_struct structure's ->trc_reader_checked
    field, making it instead be a bit within the task_struct structure's
    existing ->trc_reader_special.b.need_qs field.  This commit also
    atomically loads, stores, and checks the resulting combination of the
    reader-checked and need-quiescent state flags.  This will in turn allow
    significant simplification of the rcu_tasks_trace_postgp() function
    as well as elimination of the trc_n_readers_need_end counter in later
    commits.  These changes will in turn simplify later elimination of the
    RCU Tasks Trace scan of the task list, which will make RCU Tasks Trace
    grace periods less CPU-intensive.
    
    [ paulmck: Apply kernel test robot feedback. ]
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    Cc: Neeraj Upadhyay <quic_neeraju@quicinc.com>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Andrii Nakryiko <andrii@kernel.org>
    Cc: Martin KaFai Lau <kafai@fb.com>
    Cc: KP Singh <kpsingh@kernel.org>
    3847b645
tasks.h 62 KB