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]