Hi, On Thu, Dec 19, 2019 at 10:23:19AM +0100, Peter Zijlstra wrote: > On Thu, Dec 19, 2019 at 09:59:48AM +0800, Ming Lei wrote: > > > So pray tell, why did you not integrate this with IRQ_TIME_ACCOUNTING ? > > > That already takes a timestamp and does most of what you need. > > > > Yeah, that was the 1st approach I thought of, but IRQ_TIME_ACCOUNTING > > may be disabled, and enabling it may cause observable effect on IO > > performance. > > Is that an actual concern, are people disabling it? In SLE and openSUSE kernels it is disabled for x86_64 at this point. And if I am not completely misstaken only x86_64 supports it at this point. I was looking at enable_sched_clock_irqtime() which is only called from x86_64. Another thing I noticed get_util_irq() is defined in kernel/sched/sched.h. I don't think the block/blq-mq.c driver should include it direclty. Thanks, Daniel ps: A customer observes the same problem as Ming is reporting.