Re: spin_lock and scheduler confusion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2011-01-07 at 13:33 +0530, anish singh wrote:
> 
> 
> On Fri, Jan 7, 2011 at 1:19 PM, nilesh <nilesh.tayade@xxxxxxxxxxxx>
> wrote:
>         On Fri, 2011-01-07 at 13:05 +0530, Rajat Sharma wrote:
>         > As I remember timer interrupt as well is an NMI so, it is
>         possible
>         > (although not advised) to call schedule function while
>         holding
>         > spinlock on same core.
>         >
>         > spin_lock_irqsave();
>         > schedule();
>         > spin_lock_irqrestore();
>         >
>         > however if you have debugging options turned on like
>         > CONFIG_DEBUG_SPINLOCK, you may likely get kernel warning for
>         > 'scheduling in atomic context'.
>         >
>         > Then what can happen if this core is allowed to switched to
>         new
>         > process? Consider the case where new process as well tries
>         to aquire
>         > same spin_lock() which new process can not aquire and start
>         spinning
>         > for the lock for ever :). Likewise, other cores will also
>         get locked
>         > down.
>         >
>         > However stil you can detect softlockup through NMI watchdog.
>         
>         
>         >>Sorry if I am building up the confusion here. But as Dave
>         Hylands
>         >>initially mentioned, there will be no timer interrupt. So
>         shouldn't the
>         >>NMI watchdog get triggered then? No interrupts -> system
>         freeze -> NMI
>         >>Wdt reboot.
> 
> In my opinion(uninformed ) NMI watchdog will be triggered only in case
> where you are holding a spinlock.It will not be triggered just because
> timer interrupts are disabled due to holding a spinlock.
> 
No, what I meant is - we have masked all the interrupts before holding
the spinlock (and not even getting the timer interrupts) so it's as good
as system freeze. And we should trigger the NMI watchdog, isn't it?

-- 
Thanks,
Nilesh

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux