From mboxrd@z Thu Jan 1 00:00:00 1970 From: anish198519851985@gmail.com (anish singh) Date: Fri, 7 Jan 2011 13:33:39 +0530 Subject: spin_lock and scheduler confusion In-Reply-To: <1294386542.1620.14.camel@nilesh-desktop> References: <1294386542.1620.14.camel@nilesh-desktop> Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Fri, Jan 7, 2011 at 1:19 PM, nilesh 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110107/bbae4309/attachment.html