Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-12 Thread Paul E. McKenney
On Mon, Jul 04, 2016 at 09:55:34AM -0700, Paul E. McKenney wrote: > On Mon, Jul 04, 2016 at 02:21:43PM +0200, Frederic Weisbecker wrote: > > On Fri, Jul 01, 2016 at 05:15:06PM -0700, Paul E. McKenney wrote: > > > On Sat, Jul 02, 2016 at 01:49:56AM +0200, Frederic Weisbecker wrote: > > > > On Fri, J

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-12 Thread Peter Zijlstra
On Fri, Jul 01, 2016 at 01:29:59AM +0200, Frederic Weisbecker wrote: > > void wake_up_nohz_cpu(int cpu) > > { > > - if (!wake_up_full_nohz_cpu(cpu)) > > + if (cpu_online(cpu) && !wake_up_full_nohz_cpu(cpu)) > > So at this point, as we passed CPU_DYING, I believe the CPU isn't visible in > t

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-04 Thread Paul E. McKenney
On Mon, Jul 04, 2016 at 02:21:43PM +0200, Frederic Weisbecker wrote: > On Fri, Jul 01, 2016 at 05:15:06PM -0700, Paul E. McKenney wrote: > > On Sat, Jul 02, 2016 at 01:49:56AM +0200, Frederic Weisbecker wrote: > > > On Fri, Jul 01, 2016 at 11:40:54AM -0700, Paul E. McKenney wrote: > > > > On Fri, J

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-04 Thread Frederic Weisbecker
On Fri, Jul 01, 2016 at 05:15:06PM -0700, Paul E. McKenney wrote: > On Sat, Jul 02, 2016 at 01:49:56AM +0200, Frederic Weisbecker wrote: > > On Fri, Jul 01, 2016 at 11:40:54AM -0700, Paul E. McKenney wrote: > > > On Fri, Jul 01, 2016 at 01:29:59AM +0200, Frederic Weisbecker wrote: > > > > > +/* > >

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-01 Thread Paul E. McKenney
On Sat, Jul 02, 2016 at 01:49:56AM +0200, Frederic Weisbecker wrote: > On Fri, Jul 01, 2016 at 11:40:54AM -0700, Paul E. McKenney wrote: > > On Fri, Jul 01, 2016 at 01:29:59AM +0200, Frederic Weisbecker wrote: > > > > +/* > > > > + * Wake up the specified CPU. If the CPU is going offline, it is th

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-01 Thread Frederic Weisbecker
On Fri, Jul 01, 2016 at 11:40:54AM -0700, Paul E. McKenney wrote: > On Fri, Jul 01, 2016 at 01:29:59AM +0200, Frederic Weisbecker wrote: > > > +/* > > > + * Wake up the specified CPU. If the CPU is going offline, it is the > > > + * caller's responsibility to deal with the lost wakeup, for example

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-07-01 Thread Paul E. McKenney
On Fri, Jul 01, 2016 at 01:29:59AM +0200, Frederic Weisbecker wrote: > On Thu, Jun 30, 2016 at 10:58:45AM -0700, Paul E. McKenney wrote: > > Both timers and hrtimers are maintained on the outgoing CPU until > > CPU_DEAD time, at which point they are migrated to a surviving CPU. If a > > mod_timer(

Re: [PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-06-30 Thread Frederic Weisbecker
On Thu, Jun 30, 2016 at 10:58:45AM -0700, Paul E. McKenney wrote: > Both timers and hrtimers are maintained on the outgoing CPU until > CPU_DEAD time, at which point they are migrated to a surviving CPU. If a > mod_timer() executes between CPU_DYING and CPU_DEAD time, x86 systems > will splat in n

[PATCH RFC] sched: Make wake_up_nohz_cpu() handle CPUs going offline

2016-06-30 Thread Paul E. McKenney
Both timers and hrtimers are maintained on the outgoing CPU until CPU_DEAD time, at which point they are migrated to a surviving CPU. If a mod_timer() executes between CPU_DYING and CPU_DEAD time, x86 systems will splat in native_smp_send_reschedule() when attempting to wake up the just-now-offlin