Re: jiffies doesn't increase while doing mdelay() ?

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

 



On Thu, 2006-03-30 at 13:52 +0800, James Yu wrote:
> Dear all,
> 
> I am doing the following in a kernel thread :
> 
> ===== code segment=====
> prink("before mdelay:%d, ", jiffies);
> mdelay(300); // delay 300ms
> printk("after mdelay:%d\n", jiffies);
> ===== code segment=====
> 
> However, jiffies before and after doing mdelay are the same!!!
> Can someone please explain why jiffies doesn't change ?

first of all you should use msleep() not mdelay() for such long
delays...
second if you have interrupts disables (for example via
spin_lock_irqsave) this is normal (and the reason why your code is
evil): The timer interrupt that normally increments jiffies can't happen
because you disabled it..

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux