All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Sedat Dilek <sedat.dilek@gmail.com>
Cc: Dave Hansen <dave@sr71.net>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	linux-next <linux-next@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Kristen Carlson Accardi <kristen@linux.intel.com>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
	Steven Rostedt <rostedt@goodmis.org>
Subject: Re: linux-next: Tree for Feb 4
Date: Thu, 5 Feb 2015 08:58:20 -0800	[thread overview]
Message-ID: <20150205165819.GY5370@linux.vnet.ibm.com> (raw)
In-Reply-To: <CA+icZUX0iVY-Ng0xk6+4Du=2g5D1CudT54Y_ynmJkFA7dhWLHQ@mail.gmail.com>

On Thu, Feb 05, 2015 at 03:57:12PM +0100, Sedat Dilek wrote:
> On Thu, Feb 5, 2015 at 8:14 AM, Dave Hansen <dave@sr71.net> wrote:
> > On 02/04/2015 05:53 PM, Sedat Dilek wrote:
> >> The architecture-specific switch_mm() function can be called by offline
> >> CPUs, but includes event tracing, which cannot be legally carried out
> >> on offline CPUs.  This results in a lockdep-RCU splat.  This commit fixes
> >> this splat by omitting the tracing when the CPU is offline.
> > ...
> >>>> >> >                 load_cr3(next->pgd);
> >>>> >> > -               trace_tlb_flush(TLB_FLUSH_ON_TASK_SWITCH, TLB_FLUSH_ALL);
> >>>> >> > +               if (cpu_online(smp_processor_id()))
> >>>> >> > +                       trace_tlb_flush(TLB_FLUSH_ON_TASK_SWITCH, TLB_FLUSH_ALL);
> >
> > Is this, perhaps, something that we should be doing in the generic trace
> > code so that all of the trace users don't have to worry about it?  Also,
> > this patch will add overhead to the code when tracing is off.  It would
> > be best if we could manage to make the cpu_online() check only in the
> > cases where the tracepoint is on.
> 
> Hi Dave,
> 
> thanks for your feedback.
> 
> I have just seen that I again see the call-trace.

When you get well, could you please send that call trace?

> Maybe you can discuss with Paul and others or offer a proposal patch.

The other possibility is to have a CONFIG_ARCH_DYING_IDLE or some such
that allows this particular flavor of x86 to invoke the CPU_DYING_IDLE
from after the call to switch_mm().  Dave, does that make sense?

My guess would be that there should be a cpu_dying_idle_generic() invoked
from cpu_idle_loop(), and a cpu_dying_idle_native() invoked at the end
of idle_task_exit().  Or can I get away with just moving the current
rcu_notify_cpu() call from cpu_idle_loop() to the end of idle_task_exit()?

A quick look at the calls to idle_task_exit() makes this look plausible.
There are a number of calls to printk() and to complete() that need help,
but that is a pre-existing issue in any case, as both these code paths
have RCU readers that are having no effect on offline CPUs.

Dave, thoughts?

> I should really do something for my recovery (influenza).
> Instead of laying lazy in my bed I thought to update my Linux kernels
> and graphics driver stack which made me happy.

Get well, being sick is bad for your health!  ;-)

							Thanx, Paul

> Regards,
> - Sedat -
> 

  reply	other threads:[~2015-02-05 16:58 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-04  8:35 linux-next: Tree for Feb 4 Stephen Rothwell
2015-02-04 12:26 ` Sedat Dilek
2015-02-04 15:16   ` Jens Axboe
2015-02-04 15:21     ` Sedat Dilek
2015-02-04 15:31       ` Jens Axboe
2015-02-04 15:36         ` Sedat Dilek
2015-02-04 15:58           ` Martin K. Petersen
2015-02-04 16:06             ` Sedat Dilek
2015-02-05  3:17               ` Martin K. Petersen
2015-02-05  3:41                 ` Sedat Dilek
2015-02-05 19:46                 ` Sedat Dilek
2015-02-06 15:24                   ` Sedat Dilek
2015-02-04 20:18 ` Sedat Dilek
2015-02-04 21:54   ` Rafael J. Wysocki
2015-02-04 21:53     ` Paul E. McKenney
2015-02-04 22:59       ` Rafael J. Wysocki
2015-02-04 23:51         ` Paul E. McKenney
2015-02-04 23:58           ` Sedat Dilek
2015-02-05  0:10           ` Paul E. McKenney
2015-02-05  0:30             ` Sedat Dilek
2015-02-05  0:57               ` Paul E. McKenney
2015-02-05  1:18                 ` Sedat Dilek
2015-02-05  1:51                   ` Paul E. McKenney
2015-02-05  1:53                     ` Sedat Dilek
2015-02-05  2:12                       ` Sedat Dilek
2015-02-05  4:13                         ` Paul E. McKenney
2015-02-05  7:14                       ` Dave Hansen
2015-02-05 14:37                         ` Paul E. McKenney
2015-02-05 14:57                         ` Sedat Dilek
2015-02-05 16:58                           ` Paul E. McKenney [this message]
2015-02-05 18:03                         ` Steven Rostedt
2015-02-05 18:08                           ` Steven Rostedt
2015-02-05 18:11                             ` Dave Hansen
2015-02-05 18:34                               ` Paul E. McKenney
2015-02-05 18:35                                 ` Dave Hansen
2015-02-05 18:45                                   ` Paul E. McKenney
2015-02-05 19:25                                     ` Sedat Dilek
2015-02-05 19:33                                       ` Paul E. McKenney
2015-02-05 19:42                                         ` Sedat Dilek
2015-02-05 19:58                                       ` Steven Rostedt
2015-02-05 20:07                                         ` Sedat Dilek
2015-02-05 20:22                                           ` Steven Rostedt
2015-02-05 20:50                                             ` Sedat Dilek
2015-02-05 21:45                                               ` Sedat Dilek
2015-02-05 22:09                                                 ` Steven Rostedt
2015-02-05 22:16                                                   ` Sedat Dilek
2015-02-05 23:11                                                     ` Steven Rostedt
2015-02-05 23:53                                                       ` Sedat Dilek
2015-02-06  0:03                                                         ` Sedat Dilek
2015-02-06  0:12                                                         ` Steven Rostedt
2015-02-06  0:14                                                           ` Sedat Dilek
2015-02-04 22:38     ` Sedat Dilek
2015-02-04 23:25       ` Rafael J. Wysocki
2015-02-04 23:54         ` Sedat Dilek
2015-02-04 22:46     ` Sedat Dilek
2015-02-04 23:30       ` Rafael J. Wysocki
2015-02-04 23:48         ` Sedat Dilek
  -- strict thread matches above, loose matches on Subject: below --
2026-02-04 14:59 Mark Brown
2025-02-04  4:13 Stephen Rothwell
2022-02-04  4:14 Stephen Rothwell
2021-02-04  9:13 Stephen Rothwell
2020-02-04  4:19 Stephen Rothwell
2019-02-04  5:35 Stephen Rothwell
2016-02-04  3:48 Stephen Rothwell
2014-02-04  5:07 Stephen Rothwell
2014-02-04  5:07 ` Stephen Rothwell
     [not found] ` <CAP=VYLpgLC_4yuPtQH_yAd8S9cqQAVu2uB2=Wf3q_zgY4uzkLw@mail.gmail.com>
2014-02-04 22:23   ` Stephen Rothwell
2014-02-05  0:41 ` Stephen Rothwell
2014-02-05  0:41   ` Stephen Rothwell
2013-02-04  7:39 Stephen Rothwell
2013-02-04  7:39 ` Stephen Rothwell
2013-02-04 13:56 ` James Hogan
2013-02-04 20:33   ` Stephen Rothwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150205165819.GY5370@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=dave@sr71.net \
    --cc=hpa@linux.intel.com \
    --cc=kristen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=rafael.j.wysocki@intel.com \
    --cc=riel@redhat.com \
    --cc=rjw@rjwysocki.net \
    --cc=rostedt@goodmis.org \
    --cc=sedat.dilek@gmail.com \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.