public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Pekka Enberg <penberg@kernel.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Avi Kivity <avi@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [RFC/GIT PULL] Linux KVM tool for v3.2
Date: Thu, 10 Nov 2011 07:43:31 -0600	[thread overview]
Message-ID: <4EBBD503.4020308@codemonkey.ws> (raw)
In-Reply-To: <alpine.LFD.2.02.1111100829560.1791@tux.localdomain>

On 11/10/2011 12:46 AM, Pekka Enberg wrote:
> Hi Anthony,
>
>> 1) The RTC emulation is limited to emulating CMOS and only the few fields used
>> to store the date and time. If code is added to arch/x86 that tries to make
>> use of a CMOS field for something useful, kvm-tool is going to fall over.
>>
>> None of the register A/B/C logic is implemented and none of the timer logic is
>> implemented. I imagine this requires kernel command line hackery to keep the
>> kernel from throwing up.
>
> The "fake it until you make it" design principle is actually something Ingo
> suggested early on and has been a really important factor in getting us to where
> we are right now.
>
> Not that I disagree with you. I think we should definitely clean up our hardware
> emulation code.
>
>> If a kernel change that works on bare metal but breaks kvm-tool because
>> kvm-tool is incomplete is committed, is that a regression that requires
>> reverting the change in arch/x86?
>
> If it's the KVM tool being silly, obviously not.
>
>> 2) The qcow2 code is a filesystem implemented in userspace. Image formats are
>> file systems. It really should be reviewed by the filesystem maintainers.
>> There is absolutely no attempt made to synchronize the metadata during write
>> operations which means that you do not have crash consistency of the meta data.
>>
>> If you experience a power failure or kvm-tool crashs, your image will get
>> corrupted. I highly doubt a file system would ever be merged into Linux that
>> was this naive about data integrity.
>
> The QCOW2 is lagging behind because we lost the main developer. It's forced as
> read-only for the issues you mention. If you think it's a merge blocker, we can
> drop it completely from the tree until the issues are sorted out.

It's not just the qcow2 implementation or even the block layer.  This pull 
requests adds a userspace TCP/IP stack to the kernel and yet netdev isn't on the 
CC and there are no Ack's from anyone from the networking stack.  I'm fairly 
sure if they knew what was happening here they would object.

And the implementation isn't even strictly needed.  You can just as well achieve 
the same goal using tun/tap with a privileged helper[1].

>> I found these three issues in the course of about 30 seconds of looking
>> through the kvm-tool code. I'm sure if other people with expertise in these
>> areas looked through the code, they would find a lot more issues. I'm sure I
>> could find many, many more issues.
>
> Thanks for the review!
>
> Would you be interested in spending another 30 seconds to find out some more
> issue? :-)

I could, provided you could take the things you want to do differently and 
submit them as patches to qemu.git instead of creating a new tool.

There are lots of people on qemu-devel than can provide deep review of this type 
of code.  That's the advantage of working in qemu.git.

[1] http://mid.gmane.org/1320086191-23641-1-git-send-email-coreyb@linux.vnet.ibm.com

Regards,

Anthony Liguori

  parent reply	other threads:[~2011-11-10 13:43 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-04  8:38 [RFC/GIT PULL] Linux KVM tool for v3.2 Pekka Enberg
2011-11-04 12:16 ` Christoph Hellwig
2011-11-04 12:35   ` Pekka Enberg
2011-11-04 13:02     ` Christoph Hellwig
2011-11-04 13:32       ` Pekka Enberg
2011-11-04 14:42         ` Jan Kiszka
2011-11-04 15:16           ` Sasha Levin
2011-11-04 16:26             ` Jan Kiszka
2011-11-04 16:48               ` Sasha Levin
2011-11-04 17:33                 ` Jan Kiszka
2011-11-04 16:13           ` Joerg Roedel
2011-11-04 16:42             ` Jan Kiszka
2011-11-04 17:41               ` Pekka Enberg
2011-11-04 13:14     ` Joerg Roedel
2011-11-04 14:47 ` Jan Kiszka
2011-11-08 14:44 ` richard -rw- weinberger
2011-11-08 15:36   ` Pekka Enberg
2011-11-08 16:00     ` richard -rw- weinberger
2011-11-10  3:50 ` Anthony Liguori
2011-11-10  6:46   ` Pekka Enberg
2011-11-10  7:57     ` Markus Armbruster
2011-11-10  8:21       ` Pekka Enberg
2011-11-10  8:23       ` Sasha Levin
2011-11-10  8:28         ` Pekka Enberg
2011-11-10  8:57         ` Markus Armbruster
2011-11-10  9:04           ` Sasha Levin
2011-11-10  9:09             ` Avi Kivity
2011-11-10  9:14               ` Sasha Levin
2011-11-10  9:23                 ` Avi Kivity
2011-11-10  9:34                   ` Sasha Levin
2011-11-10  9:43                     ` Avi Kivity
2011-11-10  9:49                       ` Sasha Levin
2011-11-10  9:50                         ` Avi Kivity
2011-11-10  9:48             ` Markus Armbruster
2011-11-10 13:43     ` Anthony Liguori [this message]
2011-11-10 13:56       ` Pekka Enberg
2011-11-10 14:47         ` Markus Armbruster
2011-11-10 15:33           ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EBBD503.4020308@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=akpm@linux-foundation.org \
    --cc=avi@redhat.com \
    --cc=hch@lst.de \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    --cc=penberg@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox