Subject: Re: [PATCH] ethernet/arc/arc_emac: Fix huge delays in large file copies

From: Vineet Gupta <[email-masked]>
Date: Tue, 10 Sep 2013 11:57:30 +0530

On 09/05/2013 11:55 PM, David Miller wrote:
> From: Vineet Gupta <[email-masked]>
> Date: Wed, 4 Sep 2013 17:17:15 +0530
> 
>> copying large files to a NFS mounted host was taking absurdly large
>> time.
>>
>> Turns out that TX BD reclaim had a sublte bug.
>>
>> Loop starts off from @txbd_dirty cursor and stops when it hits a BD
>> still in use by controller. However when it stops it needs to keep the
>> cursor at that very BD to resume scanning in next iteration. However it
>> was erroneously incrementing the cursor, causing the next scan(s) to
>> fail too, unless the BD chain was completely drained out.
>>
>> [ARCLinux]$ ls -l -sh /disk/log.txt
>>  17976 -rw-r--r--    1 root     root       17.5M Sep  /disk/log.txt
>>
>> ========== Before =====================
>> [ARCLinux]$ time cp /disk/log.txt /mnt/.
>> real    31m 7.95s
>> user    0m 0.00s
>> sys     0m 0.10s
>>
>> ========== After =====================
>> [ARCLinux]$ time cp /disk/log.txt /mnt/.
>> real    0m 24.33s
>> user    0m 0.00s
>> sys     0m 0.19s
>>
>> Signed-off-by: Vineet Gupta <[email-masked]>
> 
> Applied.
> 

Hi Greg,

This needs a stable backport (3.11).
Mainline commit 27082ee1b92f4d41e78b85

Thx,
-Vineet