Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1741652

Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule be Tasks RCU quiescent state

From "Levin, Alexander (Sasha Levin)" <alexander.levin@verizon.com>
Newsgroups linux.kernel
Subject Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule be Tasks RCU quiescent state
Date 2017-09-28 17:50 +0200
Message-ID <uuJey-2kP-13@gated-at.bofh.it> (permalink)
References <ty17r-5PA-11@gated-at.bofh.it> <ty17r-5PA-9@gated-at.bofh.it> <uuDsv-7h4-21@gated-at.bofh.it> <uuGgG-yM-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Sep 28, 2017 at 05:30:55AM -0700, Paul E. McKenney wrote:
>On Thu, Sep 28, 2017 at 02:37:20AM -0700, Sasha Levin wrote:
>> On Wed, Apr 19, 2017 at 9:58 AM, Paul E. McKenney
>> <paulmck@linux.vnet.ibm.com> wrote:
>> > Currently, a call to schedule() acts as a Tasks RCU quiescent state
>> > only if a context switch actually takes place.  However, just the
>> > call to schedule() guarantees that the calling task has moved off of
>> > whatever tracing trampoline that it might have been one previously.
>> > This commit therefore plumbs schedule()'s "preempt" parameter into
>> > rcu_note_context_switch(), which then records the Tasks RCU quiescent
>> > state, but only if this call to schedule() was -not- due to a preemption.
>> >
>> > To avoid adding overhead to the common-case context-switch path,
>> > this commit hides the rcu_note_context_switch() check under an existing
>> > non-common-case check.
>> >
>> > Suggested-by: Steven Rostedt <rostedt@goodmis.org>
>> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
>>
>> Hey Paul,
>>
>> I'm seeing the following on the latest -next kernel, and suspect it's
>> caused bit this patch:
>
>Hmmm...  kernel/rcu/tree_plugin.h:329 thinks that someone slept (as opposed
>to was preempted) in an RCU read-side critical section.
>
>If this is reproducible, could you please enable lockdep if you are not
>already doing so?

lockdep was on, as far as I can tell.

It happened once in ~3 weeks of fuzzing, so not sure how easily I can reproduce.

-- 

Thanks,
Sasha

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Sasha Levin <levinsasha928@gmail.com> - 2017-09-28 11:40 +0200
  Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-09-28 14:40 +0200
    Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Levin, Alexander (Sasha Levin)" <alexander.levin@verizon.com> - 2017-09-28 17:50 +0200
      Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Peter Zijlstra <peterz@infradead.org> - 2017-09-28 18:10 +0200
        Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Levin, Alexander (Sasha Levin)" <alexander.levin@verizon.com> - 2017-09-28 18:30 +0200
      Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-09-28 18:10 +0200
        Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Peter Zijlstra <peterz@infradead.org> - 2017-09-28 18:20 +0200
          Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-09-28 18:40 +0200
        Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Boqun Feng <boqun.feng@gmail.com> - 2017-09-29 11:40 +0200
          Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Paolo Bonzini <pbonzini@redhat.com> - 2017-09-29 12:10 +0200
            Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Boqun Feng <boqun.feng@gmail.com> - 2017-09-29 12:30 +0200
            Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Peter Zijlstra <peterz@infradead.org> - 2017-09-29 12:40 +0200
              Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state Paolo Bonzini <pbonzini@redhat.com> - 2017-09-29 13:50 +0200
                Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-09-29 19:00 +0200
            Re: [PATCH v3 tip/core/rcu 40/40] rcu: Make non-preemptive schedule  be Tasks RCU quiescent state "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-09-29 19:00 +0200

csiph-web