tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Rump FS throughput



Hello,

Although it's useful to mount random media more safely than it would be
using kernel-space, I noticed that using 64KB reads, the kernel cd9660
will gladly read ~20MB/s from a DVD, but that rump_cd9660 using
64KB reads is limited to aproximately 4MB/s at most, even if the system
is mostly idle during those transfers (on netbsd-6/amd64 and 4 3.3GHz
cores).

This also reminds me of pty related issues with the previously small
buffer size, and whenever the buffer could be made larger, throughput
was much better.  However, this is already using a 64KB buffer, which
seems fairly large.  I didn't investigate it but I suspect that
frequent context switches might be the problem, or perhaps some rump HZ
or virtual-interrupts frequency issue.

It's not a critical problem (I can simply use the pure kernel FS
implementation, and I understand that Rump is still useful for
testing/debugging), but I wondered if anyone already knew exactly what
limits the troughput, and if there's an easy fix...

Probably that an alternative might be to try a Puffs/FUSE ISO-9660
implementation, but I didn't find such under pkgsrc/filesystems/ (and
from previous experience porting FUSE filesystems is sometimes
non-trivial).

I haven't tested recently, but I think that I remember rump_msdos also
being slow on USB flash devices compared to using mount_msdos.

Thanks,
-- 
Matt


Home | Main Index | Thread Index | Old Index