lkml.org 
[lkml]   [2014]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RESEND 0/1] AHCI: Optimize interrupt processing
On Wed, May 22, 2013 at 08:50:03AM +0900, Tejun Heo wrote:
> Hmmmmmm..... I'd normally apply this patch but block layer is just
> growing multi-queue support and libata is likely to be converted to mq
> in foreseeable future, so I'm a bit hesitant to make irq handling more
> sophiscated right now. Would you be interested in looking into
> converting libata to blk mq support? I'm pretty sure it'd yield far
> better outcome if done properly.

Hi Tejun,

As conversion of libata to blk mq has long done I tried the change
against the recent version and the results still appear worthwhile.

The numbers are taken by running 'dd if=/dev/sd{a,b} of=/dev/null'
in parallel. All time values are in us.

Before this update host lock average holdtime was 2.45 and
average waittime was 1.24. After the update average holdtime
dropped to 0.29 (about eight times) while average waittime
decreased to 0.58 (about two times).

Also, port events are handled with local interrupts enabled
and compete on individual per-port locks with average holdtime
1.25 and average waittime 1.48. So combined average holdtime
spent while holding host and port locks decreased from 2.45 to
0.29 + 1.25 = 1.54 (about 1.6 times).

The downside of this change is introduction of a kernel thread.

The upside is shorter access time to port locks and moving port
interrupts handling out of the hardware interrupt context.

Thanks!

> --
> tejun

--
Regards,
Alexander Gordeev
agordeev@redhat.com


\
 
 \ /
  Last update: 2014-09-11 15:21    [W:0.141 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site