The latency you talk about is the time required to schedule - there is nothing
you driver can do to reduce that - syscall, signal or your own code must wait
until schedule() decides to run your process.
I'd try to
a) switch your process to realtime priority, mlockall your app.
b) use the low-latency patches. They were regularly discussed on
linux-kernel, search through the archives.
c) give up and implement everything in kernel.
d) switch to rtlinux.
Are you sure you need 10 to 20 usec? Then a hard realtime with everything
in kernel is your only option, i.e. rtlinux.
-- Manfred- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/