Re: BUG: scheduling while atomic

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

 



Hi Srivatsa,

On Wed, Apr 18, 2012 at 1:57 PM, Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> wrote:
On 04/18/2012 01:38 PM, Arun KS wrote:

> Hi Dave,
>
> Thanks for your reply.
>
> On Wed, Apr 18, 2012 at 1:01 PM, Dave Hylands <dhylands@xxxxxxxxx
> <mailto:dhylands@xxxxxxxxx>> wrote:
>
>     Hi Arun,
>
>     On Tue, Apr 17, 2012 at 11:44 PM, Arun KS <getarunks@xxxxxxxxx
>     <mailto:getarunks@xxxxxxxxx>> wrote:
>     >
>     > Hello Guys,
>     >
>     > System is working normal after this BUG.
>     > PC is at 0x400b4614, probably a mmaped address.
>     >
>     > Just wondering how can this BUG happen when a process is running
>     in user
>     > space.
>     >
>     > Can it be something like this
>     > 1) enter to kernel from userspace through some system call.
>     > 2) kernel disables the interrupt and return to user space.
>
>     Don't do that
>
>
> I don't do that. This scenario mentioned is a just a wild guess.
>
>
>     > 3) and now it can happen in user space?
>
>     Because something in userspace made a blocking call which would cause
>     a context switch to occur and your driver erroneously left interrupts
>     disabled.
>
> In that case, my system should have been unstable afterwards if
> interrupts are left disabled. But that is not happening.
>
> If we return to user space with interrupts disabled, can we switch back
> again to kernel using a system cal(because interrupts are already disabled)?
>


Depends on how many CPUs you have - AFAICS the "interrupts disabled"
discussion above applies to a single CPU.. so if you have other CPUs on your
system, you could probably use the system for a little more time.


Hmm.. I have uniprocessor.

There is a simple way to check if interrupts are indeed disabled as
hypothesised: turn on the hard-lockup detector (See
Documentation/lockup-watchdogs.txt for details on what it is and what
config options you have to enable). You can even turn on the soft-lockup
detector and see what you get. Setting the option to panic on hard-lockup/
soft-lockup/hung tasks would be even better, to debug the issue.

Thanks for the pointers. I ll try this out.

Arun

Regards,
Srivatsa S. Bhat


_______________________________________________
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