I have a low latency server/client audio application running on seperate cores. (via cpuset) No xruns are detected, I suspect the scheduler to interrupt my critical routine. Since disabling interrupts is not possible in user space my idea was to create a kernel module and write wrapper functions for local_irq_disable()/local_irq_enable(). Security is not an issue. An rt Linux with fully preemptible kernel is in use.
- I assume the nanosleep function won't work without interrupts too?
- What would be the more elegant way to disable the scheduler but keep the timers running?
- How do I call these wrapper functions from user space?
Edit: SMP affinity is the keyword here: SMP IRQ Affinity