I have a cellular network test system with a number of mobile Internet dongles
connected to it. There are several UML kernels running, and each of them has
access to one and only one dongle. (The dongle /dev/ttyUSB* device is
visible as /dev/ttyS0
inside the UML.)
A PPP daemon is started inside each UML, which allows me to have
several, simultaneous IP
connections active - with no interference whatsoever between the tests
(since they run on separate UMLs.)
This setup works fine when just connecting and downloading small test files.
However, when downloading large files from the Internet through a
speed is way lower than if I had run the same PPP connection and
download on the
host machine (using /dev/ttyUSB* directly.)
I have performed a download test through the eth0 interface from within an UML.
The UML itself consumes quite a lot of CPU during the download, but
the speed is high (as expected.)
However, when downloading from within an UML using the ppp0 interface,
I notice that events/0
and events/1 on the host consume a lot of CPU as well.
I guess the data traffic through the serial interface generates a lot of events.
This is perhaps not the way the serial devices in UML were intended to be used,
but nevertheless, does anyone have any ideas on how to make this work better?
(inhibit event generation... etc?)