Messages in this thread | | | Date | Fri, 11 May 2018 10:27:35 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH] rcu: Report a quiescent state when it's exactly in the state |
| |
On Fri, May 11, 2018 at 12:27:12PM -0400, Steven Rostedt wrote: > On Fri, 11 May 2018 12:25:28 -0400 > Steven Rostedt <rostedt@goodmis.org> wrote: > > > I would also say that one should never call schedule() directly without > > changing its state to something other than TASK_RUNNING. Hence, calling > > schedule directly is saying you are ready to sleep. But that is not the > > case with cond_resched() which should always be called with the state > > as TASK_RUNNING. > > To continue this, with tracing, when a task is scheduled out in the > RUNNING state, it is considered preempted, otherwise it is not.
I suppose another option would be for cond_resched_tasks_rcu_qs() to set (and later clear) a per-CPU variable that causes rcu_note_context_switch() to ignore its "preempt" parameter. Byungchul's approach seems more straightforward, though.
Thanx, Paul
| |