Hi...

> Thank you Mulyadi!  Is there a recommended way to prevent priority
> inversion when high priority tasks are waiting on data from a driver?

Well, IMHO that's not called priority inversion, but just a matter of
reducing  blocking situation. And as long as you sleep while blocking,
not busy looping, I say it's just fine. You can't really avoid that
situation in many cases...

> Do I just need to do all processing either in the syscall context or
> under interrupt priority?

Whenever possible, do lengthy operation on process context.

> Just be be sure: timers and tasklets run under a software interrupt
> context
true...
> therefore have a higher priority than all user processs

Not really. I don't think they have "priority". The reality I see is,
they are executed whenever the kernel code path back from interrupt to
kernel/user space.. or at least when ksoftirqd gets a chance to run.
Perhaps that's what you mean by "seems having higher priority than all
user process".

regards,

Mulyadi.

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to