Messages in this thread | | | Subject | Re: jiffies doesn't increase while doing mdelay() ? | From | Arjan van de Ven <> | Date | Thu, 30 Mar 2006 15:23:47 +0200 |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |