Messages in this thread | | | Date | Thu, 30 Oct 2014 15:44:50 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFD PATCH 01/10] sched: add io latency framework |
| |
On Mon, Oct 27, 2014 at 11:19:49PM -0400, Len Brown wrote: > > There is a rb tree per cpu. Each time a task is blocked on an IO, it > > is inserted into the tree. When the IO is complete and the task is > > woken up, its avg latency is updated with the time spent to wait the > > IO and it is removed from the tree. The next time, it will be inserted > > into the tree again in case of io_schedule. > > Is there an assumption built-in here that the device interrupt is targeted > at the same CPU as where the task is queued?
Yes, I pointed out that this is unlikely to be true during his presentation in DUS.
My suggestion was to track interrupts per device and use the IRQ routing to map them to CPUs.
The benchmarking of the approach was done on a UP (or rather, everything affinity bound to cpu0) which did obviously not expose this particular issue.
| |