Re: [RFD PATCH 01/10] sched: add io latency framework

From: Peter Zijlstra
Date: Thu Oct 30 2014 - 10:45:04 EST


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.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/