On Friday 21 January 2005 07:52, Gerhard Hannemann wrote:
> Encountered a baffling problem while copying large amounts of files from
> a archive (*.tbz) or from a remote system to a directory within a
> running UML system. The UML stalls while the IDE hardrive thrashes along
> for server minutes. It recovers, continues on with some more files, and
> stall again. While this is happening, all maternity's connected to that
> UML just freeze.
> The host system is perfectly accessible and on show minimal CPU usages.
> A running top session within the UML also show low CPU and moderate
> memory usage. However the UML's load increases up to 3.x for several
> minutes and then recovers.
> System Data:
> AMD Athlon 2.1Ghz running Gentoo using 2.6.9 kernel with skas3 patch.
> 1 SCSI 18G drive (boot drive) and one IDE 15G drive.
> 1G tmpfs
> Vanilla 2.4.27 UML kernel (patched of UML usage)
> 3G file system and 512M swap.
> The UML is run using 512M of mem.
> The UML runs from the IDE drive.
I've just read the beginning, however I suspect you are running a
not-up-to-date UML with the kernel option "CONFIG_BLK_DEV_UBD_SYNC" or the
option "ubd=sync" on the command line. Until a little time ago, that meaned
that the write requests (which are synchronous) were executed by the UML
kernel and not by the separate thread used normally.
The workaround is to recompile disabling that option, and adding for each UBD
the 's' option (i.e. ubd0= becomes ubd0s= and so on). So, you still get the
safety without the slowdown.
This workaround is not needed in recent UML versions (for instance 2.6.9-bs5
is surely ok, I don't remember if stock 2.6.9 already has the fix). The fix
has not yet been backported to 2.4 (although it's easy).
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729