Stolz, Stefan, PGR2 wrote:
> Hello,
> 
> i'm developing a rt-driver for the rtdm with Xenomai and i've got one
> question.
> how are the handler-functions (like rtdm_read_handler,
> rtdm_write_handler, ...) scheduled if there are other rt-tasks?
> e.g. i've got the rtdm-driver which handles read and write (read and
> write have to do some i/o-operations) and a two other rt-tasks. What
> happens if the task with the lower priority uses the rtdm-driver to read
> and write data and the task with the higher priority want's to run. Are
> the i/o-operations peempted by the high priority task? If it is so, is
> it possible to give the driver a higher priority or do i have to create
> a task with a higher priority in the driver?

RTDM device handlers run in the context of the caller, i.e. some RT (or
also non-RT) task. Thus, they are schedule like the caller - unless you
apply locking mechanisms like spinlocks which block preemption for a
while or mutexes which may cause priority boosts if contention with
tasks of higher priority occur.

Additionally, there are IRQ handlers which run at highes priority and
RTDM kernel tasks which can be set to custom RT priorities.

No black magic here, it's all standard OS design.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to