|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? |
Date: | Wed, 04 Aug 2010 12:36:18 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100713 Lightning/1.0b1 Thunderbird/3.0.6 |
On 08/04/2010 12:31 PM, Alexander Graf wrote:
On 04.08.2010, at 19:26, Anthony Liguori wrote:On 08/04/2010 11:45 AM, Alexander Graf wrote:Frankly, I partially agreed to your point when we were talking about 300ms vs. 2 seconds. Now that we're talking 8 seconds that whole point is moot. We chose the wrong interface to transfer kernel+initrd data into the guest. Now the question is how to fix that. I would veto against anything normally guest-OS-visible. By occupying the floppy, you lose a floppy drive in the guest. By occupying a disk, you see an unwanted disk in the guest.Introduce a new virtio device type (say, id 6). Teach SeaBIOS that 6 is exactly like virtio-blk (id 2). Make it clear that id 6 is only to be used by firmware and that normal guest drivers should not be written for id 6.Why not make id 6 be a fw_cfg virtio interface?
Because that's a ton more work and we need fw_cfg to be available before PCI is. IOW, fw_cfg cannot be a PCI interface.
Regards, Anthony Liguori
That way we'd stay 100% compatible to everything we have and also get a fast path for reading big chunks of data from fw_cfg. All we'd need is a command to set the 'file' we're in. Even better yet, why not use virtio-9p and expose all of fw_cfg as files? Then implement a simple virtio-9p client in SeaBIOS and maybe even get direct kernel/initrd boot from a real 9p system ;). Alex
[Prev in Thread] | Current Thread | [Next in Thread] |