Re: Multi-file USB mass-storage copy from PC to Nokia N900 slowwhen using CFQ

From: Sitsofe Wheeler
Date: Tue Jan 05 2010 - 18:04:55 EST


On Tue, Jan 05, 2010 at 10:07:22AM -0600, Paul Hartman wrote:
> Hi,

I'm going to CC Jens on this email as he's the block device maintainer
and might be in the better position to comment on this.

> Copying more than one file from my PC (kernel 2.6.32) to my Nokia N900
> over USB mass storage mode is very slow when CFQ is the i/o scheduler.
> The target uses vfat filesystem.
>
> I am using iotop to monitor the I/O in general, plus I performed the
> following test. file1 and file2 are each 700M and both housed on a
> ramdrive for this test. They were deleted from the destination between
> runs.
>
> # one file at a time with sync in-between, fast speeds:
> $ sync; time sh -c "cp file1 /mnt/usb; sync; cp file2 /mnt/usb; sync"
>
> real 1m25.697s
> user 0m0.005s
> sys 0m2.509s
>
> # copy two files in a row, then sync, speed is bad:
> $ sync; time sh -c "cp file1 file2 /mnt/usb; sync"
>
> real 6m51.439s
> user 0m0.007s
> sys 0m2.615s
>
>
> Using all I/O schedulers, the speed of the first test was the same. So
> it's only related to writing more than 1 file to the N900. The timing
> results for the second test ended up as such:
>
> cfq: 6m51.439s
> noop: 3m0.733s
> anticipatory: 1m44.348s
> deadline: 1m36.804s
>
>
> Also, in 2.6.31 the speed was four times slower, so the removal of old
> pdflush code may have made a difference in this case. Copying 1
> gigabyte takes about 1 minute at optimal speed, about 5 minutes using
> CFQ in kernel 2.6.32, and took about 20 minutes using CFQ in kernel
> 2.6.31.
>
> I thought you may be interested in case there's room to improve the
> scheduler. If you want any other info let me know!
>
> Thanks
> Paul
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/