has anybody compared the performance of UML's built-in blockdevice, NetworkBlockDevices, ATAoverEthernet, yet?
I don't know how UML's blockdevice works, but i know how NBD works. The kernel sends multiple requests to the NBD server, and receives the responses asap. The worse case for UML's block-device would be, if the UML-blockdevice would perform each read/write operation one after another. If it does that, it could be optimized by using a asynchronious queue/message-based operation like NBD.
Yes, we are trying to do this with AIO support (see the incrementals tree), however Linux has not a very good AIO support.
I have a speific design in mind. The kernel is devided in two parts: one that sends requests and reveives the responses, and one that receives the requests ans answers them.
The part receiving and answering the requests would be a process running on the host. And doing the actual IO - perhaps asynchronious IO.
The part sending the requests would be the BlockDeviceDriver for the UML-kernel. This part can not be much more complicated than the NBD driver.
Both parts would read/write from/to two queues whose memory is somehow shared between the UML kernel and the Host-process. I don't know, if this is possible, but it _could_ reduce context-switches if the queue could be easily accessed from both contexts (host and uml).
Is this like it is implemented now?
The worse sollution i can imagine is, if the blockdevicedriver of the UML-kernel does a context-switch for each read/write request. I guess, this is now how it's implemented now.
IMHO, the principle to use queues is like Xen does it. There're several queues between the dom0 and the dom1 kernels.
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user