2012-02-10 18:26:07

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH V2] fsl-sata: I/O load balancing

On 01/19/2012 09:19 PM, [email protected] wrote:
> From: Qiang Liu<[email protected]>
>
> Reduce interrupt signals through reset Interrupt Coalescing Control Reg.
> Provide dynamic method to adjust interrupt signals and timer ticks by sysfs.
> It is a tradeoff for different applications.
>
> Signed-off-by: Qiang Liu<[email protected]>
> ---
>
> change for V2
> support dynamic config interrupt coalescing register by /sysfs
> test random small file with iometer
> Description:
> 1. fsl-sata interrupt will be raised 130 thousand times when write 8G file
> (dd if=/dev/zero of=/dev/sda2 bs=128K count=65536);
> 2. most of interrupts raised because of only 1-4 commands completed;
> 3. only 30 thousand times will be raised after set max interrupt threshold,
> more interrupts are coalesced as the description of ICC;
>
> Test methods and results:
> 1. test sequential large file performance,
> [root@p2020ds root]# echo 31 524287> \
> /sys/devices/soc.0/ffe18000.sata/intr_coalescing
> [root@p2020ds root]# dd if=/dev/zero of=/dev/sda2 bs=128K count=65536&
> [root@p2020ds root]# top
>
> CPU % | dd | flush-8:0 | softirq
> ---------------------------------------
> before | 20-22 | 17-19 | 7
> ---------------------------------------
> after | 18-21 | 15-16 | 5
> ---------------------------------------
> 2. test random small file with iometer,
> iometer paramters:
> 4 I/Os burst length, 1MB transfer request size, 100% write, 2MB file size
> as default configuration of interrupt coalescing register, 1 interrupts and
> no timeout config, total write performance is 119MB per second,
> after config with the maximum value, write performance is 110MB per second.
>
> After compare the test results, a configuable interrupt coalescing should be
> better when cope with flexible context.
>
> drivers/ata/sata_fsl.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++--
> 1 files changed, 107 insertions(+), 4 deletions(-)

Doesn't seem to apply to upstream, or another less recent -rc...

Jeff



2012-02-13 10:03:05

by Liu Qiang-B32616

[permalink] [raw]
Subject: RE: [PATCH V2] fsl-sata: I/O load balancing

> -----Original Message-----
> From: [email protected] [mailto:linux-ide-
> [email protected]] On Behalf Of Jeff Garzik
> Sent: Saturday, February 11, 2012 2:26 AM
> To: Liu Qiang-B32616
> Cc: [email protected]; [email protected]; linuxppc-
> [email protected]
> Subject: Re: [PATCH V2] fsl-sata: I/O load balancing
>
> On 01/19/2012 09:19 PM, [email protected] wrote:
> > From: Qiang Liu<[email protected]>
> >
> > Reduce interrupt signals through reset Interrupt Coalescing Control Reg.
> > Provide dynamic method to adjust interrupt signals and timer ticks by
> sysfs.
> > It is a tradeoff for different applications.
> >
> > Signed-off-by: Qiang Liu<[email protected]>
> > ---
> >
> > change for V2
> > support dynamic config interrupt coalescing register by /sysfs
> > test random small file with iometer
> > Description:
> > 1. fsl-sata interrupt will be raised 130 thousand times when write
> 8G file
> > (dd if=/dev/zero of=/dev/sda2 bs=128K count=65536);
> > 2. most of interrupts raised because of only 1-4 commands completed;
> > 3. only 30 thousand times will be raised after set max interrupt
> threshold,
> > more interrupts are coalesced as the description of ICC;
> >
> > Test methods and results:
> > 1. test sequential large file performance,
> > [root@p2020ds root]# echo 31 524287> \
> > /sys/devices/soc.0/ffe18000.sata/intr_coalescing
> > [root@p2020ds root]# dd if=/dev/zero of=/dev/sda2 bs=128K
> count=65536&
> > [root@p2020ds root]# top
> >
> > CPU % | dd | flush-8:0 | softirq
> > ---------------------------------------
> > before | 20-22 | 17-19 | 7
> > ---------------------------------------
> > after | 18-21 | 15-16 | 5
> > ---------------------------------------
> > 2. test random small file with iometer,
> > iometer paramters:
> > 4 I/Os burst length, 1MB transfer request size, 100% write, 2MB
> file size
> > as default configuration of interrupt coalescing register, 1
> interrupts and
> > no timeout config, total write performance is 119MB per second,
> > after config with the maximum value, write performance is 110MB per
> second.
> >
> > After compare the test results, a configuable interrupt coalescing
> should be
> > better when cope with flexible context.
> >
> > drivers/ata/sata_fsl.c | 111
> ++++++++++++++++++++++++++++++++++++++++++++++--
> > 1 files changed, 107 insertions(+), 4 deletions(-)
>
> Doesn't seem to apply to upstream, or another less recent -rc...
Thanks, I will resend it latterly.
>
> Jeff
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to [email protected] More majordomo info at
> http://vger.kernel.org/majordomo-info.html