On 08/03/2010 07:28 PM, Richard W.M. Jones wrote:
On Tue, Aug 03, 2010 at 07:10:18PM +0300, Avi Kivity wrote:
-kernel and -initrd is a developer's interface intended to make life
easier for users that use qemu to develop kernels. It was not
intended as a high performance DMA engine. Neither was the firmware
_configuration_ interface. That is what virtio and to a lesser
extent IDE was written to perform. You'll get much better results
from them.
Firmware configuration replaced something which was already working
really fast -- preloading the images into memory -- with something
which worked slower, and has just recently got _way_ more slow.
This is a regression. Plain and simple.
It's only a regression if there was any intent at making this a
performant interface. Otherwise any change an be interpreted as a
regression. Even "binary doesn't hash to exact same signature" is a
regression.
I have posted a small patch which makes this 650x faster without
appreciable complication.
It doesn't appear to support live migration, or hiding the feature for
-M older.
It's not a good path to follow. Tomorrow we'll need to load 300MB
initrds and we'll have to rework this yet again. Meanwhile the kernel
and virtio support demand loading of any image size you'd want to use.
--
error compiling committee.c: too many arguments to function