* Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
However, as an RT-tree thing obviously I have no problems with it, but unless your interrupt thread is preemptible, then there isn't much point because it can cause a similar latency (that your tools won't detect) simply by running multiple times.
we can (and do) detect any type of latency. E.g. there's the CONFIG_LPPTEST feature in the -rt kernel, which allows me to inject 50,000 hardirqs per second from another box, over a parallel port, and allows me to validate the worst-case IRQ response time from that external box. The 'external' component of LPPTEST injects the interrupt with interrupts disabled, and polls for the response, and does all measurements on that other box. I can use that in conjunction with the latency tracer running on the measured box, to get an easy snapshot of the longest hardirq latency path.
You really want isolcpus on SMP machines to really ensure load balancing doesn't harm RT behaviour, yeah?
not really - isolcpus is useful for certain problems, but it is not generic as it puts heavy constraints on usability and resource utilization. We have really, really good latencies on SMP too in the -rt kernel, with _arbitrary_ SCHED_OTHER workloads. Rwsems and rwlocks are not an issue, pretty much the only issue is the scheduler's load-balancing.