On Mon, Aug 18, 2014 at 08:01:58PM +0200, Ingo Molnar wrote:
> > > >         duration = is_softlockup(touch_ts);
> > > >         if (unlikely(duration)) {
> > > > +               pid_t pid = task_pid_nr(current);
> > > > +
> > > >                 /*
> > > >                  * If a virtual machine is stopped by the host it can 
> > > > look to
> > > >                  * the watchdog like a soft lockup, check to see if the 
> > > > host
> > > > @@ -326,8 +329,20 @@ static enum hrtimer_restart 
> > > > watchdog_timer_fn(struct hrtimer *hrtimer)
> > > >                         return HRTIMER_RESTART;
> > > >  
> > > >                 /* only warn once */
> > > > -               if (__this_cpu_read(soft_watchdog_warn) == true)
> > > > +               if (__this_cpu_read(soft_watchdog_warn) == true) {
> > > > +
> > > > +                       /*
> > > > +                        * Handle the case where multiple processes are
> > > > +                        * causing softlockups but the duration is small
> > > > +                        * enough, the softlockup detector can not reset
> > > > +                        * itself in time.  Use pids to detect this.
> > > > +                        */
> > > > +                       if (__this_cpu_read(softlockup_warn_pid_saved) 
> > > > != pid) {
> > > 
> > > So I agree with the motivation of this improvement, but is this 
> > > implementation namespace-safe?
> > 
> > What namespace are you worried about colliding with?  I thought
> > softlockup_ would provide the safety??  Maybe I am missing something
> > obvious. :-(
> 
> I meant PID namespaces - a PID in itself isn't guaranteed to be 
> unique across the system.

Ah,  I don't think we thought about that.  Is there a better way to do
this?  Is there a domain id or something that can be OR'd with the pid?

Cheers,
Don
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to