Re: udelay() and BogoMips doubts

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

 



On Wed, 2004-08-11 at 10:56 +0530, Ketan Mukadam wrote:

> Yes, the timer will interrupt the loop [unless ofcourse you disable all 
> interrupts prior to looping], but it will *NOT* take care of loop, once the 
> timer interrupt service finishes, it returns to the loop since the loop is 
> running in kernel mode and kernel is non-preemptible (except for 
> interrupts) and the system will appear as if it is hanged. [No other 
> processing will occur apart from interrupt servicing]. This is true till 
> kernel 2.4. Dunno about 2.6 which has a preemptible kernel.
> 
> Correct me if i am wrong.

You are correct.

In 2.6, the only difference would be that higher priority processes
could preempt the infinite loop if kernel preemption was enabled,
assuming the infinite loop did not hold any spin locks.

	Robert Love



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[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