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

From: Jeff Garzik <[email-masked]>
Date: Fri, 10 Feb 2012 13:26:01 -0500

On 01/19/2012 09:19 PM, [email-masked] wrote:
> From: Qiang Liu<[email-masked]>
>
> 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-masked]>
> ---
>
> 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