Re: Kernel code interrupted by Timer

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

 





On Sun, Feb 10, 2013 at 12:22 AM, Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
2013/2/9 Peter Teoh <htmldeveloper@xxxxxxxxx>:
> A search in the entire subtree of arch/x86/ and including all its
> subdirectories, (for 3.2.0 kernel) return only TWO result where
> preempt_schedule_irq is called:   kernel/entry_64.S and kernel/entry_32.S.
> And the called is in fact resume_kernel(),   ie, it is NOT called from timer
> interrupt, but from wakeup context of the CPU, and is only executed ONCE
> upon waking up from hibernation.
>
> for example, calling from here:
>
> https://lkml.org/lkml/2012/5/2/298
>
> so definitely this preempt_schedule_irq() calling from irq mode is rare - at
> least for x86.

The name "resume_kernel" can indeed sound like something that is
called on hibernation resume. It's actually not related at all. It's a
piece of code that is called at the end of every irq and exception
when the interrupted code was running in the kernel. If the
interrupted code was running in userspace, we jump to
resume_userspace.

well, i guessed u must be the expert here, i have yet to really digest all these...:-).   thanks for the explanation.

--
Regards,
Peter Teoh
_______________________________________________
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