Hi... On Tue, Jul 1, 2008 at 4:52 AM, Lukas Razik <razik@xxxxxxxxxxxxxxxxxxx> wrote: > So, I have these questions: > 1. Why does the yield() call in my kernel thread not force the proceeding of > the softirqs? AFAIK , jiffies is updated as a part of bottom halves too (softirqd IIRC). Thus, further suspicion should be directed to "what's your current active preemption mode"? I guess it could be voluntary preemption. Try full preemption and see the difference. Beyond that, i suggest to use rdtsc() to get better timing granularity. Jiffies...limits you to 1ms precision....assuming you use HZ=1000. Further if you use no_hz, there is a chance that jiffies wouldn't be updated for relatively long ticks. > 2. Is it normally 'safe' to call do_softirq() in a kernel thread? > What should I take into account? I think normally you won't need to do that. do_softirq will be called everytime the kernel is finished dealing with interrupts or executing ksoftirqd. So maybe what you need is to "break off" any potential long code path. By "breaking off", i mean do things like don't hold lock too long, don't disable interrupt too long and so on. hope I help you somehow here. regards, Mulyadi. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ