[maemo-users] Slow writes from linux to N900 in USB Mass Storage Mode

From: Paul Hartman paul.hartman+maemo at gmail.com
Date: Tue Dec 29 03:29:15 EET 2009
On Mon, Dec 28, 2009 at 2:18 PM, Marcel <tanuva at googlemail.com> wrote:
> Am Sonntag, den 27.12.2009, 15:38 -0600 schrieb Paul Hartman:
>> Hi,
>> I'm using linux kernel 2.6.32 on my PC and mount N900 in mass storage
>> mode using vfat (async).
>> If I write one file then sync/umount, write speed is about 17MB/sec,
>> same as I get on Windows Vista. However, if I write more than one file
>> and then sync/umount, speed is terrible, around 2MB/sec (and in kernel
>> 2.6.31 that speed was about 450kb/sec using the old pdflush code). So
>> it seems linux is maybe creating multiple write streams and N900
>> doesn't deal with that well at all.
>> Size doesn't seem to matter, copying one 1gb file followed by sync is
>> around 8 times faster than copying 2 500gb files followed by sync. In
>> other words, as long as every single file copy is followed immediately
>> by sync before moving on to the next file, speed is fine. If more than
>> 1 file is copied before sync, it's bad.
>> Does anyone else experience the same problem or have any ideas how to
>> solve it? I'm no USB guru an every other USB device I have seems to
>> work properly and at full speed. dmesg shows no messages (on PC) and
>> it is running USB 2.0 etc.
>> So far my only workaround is to copy/sync/copy/sync/copy/sync but
>> that's annoying. However, the difference of taking 1 minute to write
>> 1gb versus taking 20 minutes to write 1gb is also annoying.
>> Thanks :)
> N'Abend.
> I noticed the same issue copying ~26GB of music to the n900 which took
> about one night using amarok. Your sync approach leads me to write cache
> problems - fast till write cache is full, sync empties it, so its fast
> again. But that wouldn't apply to files of several hundred megabytes.
> (No write cache is that large.) But I haven't got a better idea...
> Marcel

Thanks, at least I know I'm not alone... will keep trying to find the
solution. :)

More information about the maemo-users mailing list