if you set disable preemption ... kernel can't schedule another thread until thread itself leave the cpu ... if this thread sleeps who will wake it up ??? this would lead to deadlock ..
gaurav
On 5/15/07, Learning Linux <learninglinux4@xxxxxxxxx> wrote:
Hi,
Apologies for posting another trivial query. After reading about ISRs
and sleeping, I have cleared my doubts on why ISRs cannot sleep, but I
still cannot understand why a normal kernel thread cannot sleep once
it has disable preemption.
Assuming that the kernel thread does NOT hold any locks, nor any
per-cpu data, why stops it from sleeping after a call to
preempt_disable()?
TIA,
LL
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs