From: Blue Swirl <blauwirbel@gmail.com>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: "Andreas Färber" <andreas.faerber@web.de>,
"Avi Kivity" <avi@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: [Qemu-devel] Re: POLL: Why do you use kqemu?
Date: Sun, 7 Jun 2009 14:13:15 +0300 [thread overview]
Message-ID: <f43fc5580906070413r51745d06u5e934e7875d2a16@mail.gmail.com> (raw)
In-Reply-To: <4A2B8787.5080603@web.de>
On 6/7/09, Jan Kiszka <jan.kiszka@web.de> wrote:
> Blue Swirl wrote:
> > On 6/7/09, Jan Kiszka <jan.kiszka@web.de> wrote:
> >> Blue Swirl wrote:
> >> > On 6/7/09, Jan Kiszka <jan.kiszka@web.de> wrote:
> >> >> Avi Kivity wrote:
> >> >> > Jan Kiszka wrote:
> >> >> >>> Maybe the backwards compatibility features should be ported to QEMU?
> >> >> >>> For example, is there a workaround for
> >> >> >>> #error Missing KVM capability KVM_CAP_DESTROY_MEMORY_REGION_WORKS
> >> >> >>> ?
> >> >> >>>
> >> >> >>
> >> >> >> Given that we have always-up-to-date kvm-kmod packages with support down
> >> >> >> to reasonable kernel versions, I would prefer to keep upstream clean
> >> >> >> from old workarounds. They should only be needed for issues found very
> >> >> >> recently (KVM_CAP_JOIN_MEMORY_REGIONS_WORKS) or that might be found in
> >> >> >> the future.
> >> >> >>
> >> >> >
> >> >> > Requiring the latest up-to-date modules is pushing the problem to the
> >> >> > users. Sometimes there is no choice, but when there is, the
> >> >> > implementation that cares about its uses prefer unclean code and
> >> >> > functionality over perfection and brokenness.
> >> >>
> >> >>
> >> >> Let's make it more concrete:
> >> >>
> >> >> By the time upstream is as well tested, feature-rich and with comparable
> >> >> performance as qemu-kvm, its current baseline requirement (2.6.29 due to
> >> >> KVM_CAP_DESTROY_MEMORY_REGION_WORKS) will no longer be a problem to most
> >> >> normal users. Until then they are better off with qemu-kvm anyway.
> >> >>
> >> >> So all I wanted to express is that I see no point in merging workarounds
> >> >> upstream that hardly anyone will need but that restrict non-kvm code in
> >> >> upstream. Basically I have the current line along
> >> >> KVM_CAP_DESTROY_MEMORY_REGION_WORKS / clean memory slot management in
> >> >> mind. Anything older should be skipped when merging upstream. And unless
> >> >> something more problematic comes along (rather unlikely), 2.6.29 or
> >> >> compatible kvm-kmod is a reasonable minimum requirement for the long term.
> >> >
> >> > I pulled qemu-kvm and it looks to me that
> >> > KVM_CAP_DESTROY_MEMORY_REGION_WORKS and the derived functions
> >> > kvm_destroy_memory_region_works() and must_use_aliases_*() are only
> >> > used in very few places. Do I miss something, how can this be of any
> >> > restriction?
> >>
> >>
> >> Check e.g the diff of hw/vga.c against upstream: All the magic dances
> >> there are required as qemu-kvm tracking cpu_register_physical_memory and
> >> kvm_log_start cannot cope with all the patterns normal qemu code comes
> >> up with. Upstream slot management now provides the same features
> >> (including migration) like qemu-kvm, it just does not deal with legacy,
> >> thus it does not have to patch qemu code (rather, we were able to remove
> >> some already merged hooks - vga_dirty_log_stop).
> >
> > Still not very restrictive, all this could be encapsulated with for
> > example macro COMPAT_NO_DMRW which could be removed when we don't care
> > anymore. Next?
>
>
> Really, it's not worth the maintenance pain: Every new device emulation
> code that wants to be KVM-legacy-compatible would need to be written
> like that. And unless you are familiar with the slot management
> internals, the "correct" pattern will not be obvious.
>
> I've just finished a patch for configure and for the runtime code to
> tell the user what the maturer alternatives are. Will send it out in a
> minute.
kvm-kmod seems to be available only for x86, not amd64. This is not
mentioned in README (in fact, there is no README), configure will
succeed and make will only generate funky errors. I only found this
mentioned in http://www.linux-kvm.org/page/Code after quite a bit of
head scratching.
next prev parent reply other threads:[~2009-06-07 11:13 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-03 21:57 [Qemu-devel] POLL: Why do you use kqemu? Anthony Liguori
2009-06-04 16:55 ` Anton D Kachalov
2009-06-05 0:44 ` Johannes Schindelin
2009-06-05 7:45 ` Gerd Hoffmann
2009-06-05 8:40 ` Tomasz Chmielewski
2009-06-05 9:08 ` Anton D Kachalov
2009-06-05 9:15 ` Gerd Hoffmann
2009-06-05 20:14 ` Lennart Sorensen
2009-06-05 23:23 ` Johannes Schindelin
2009-06-08 0:13 ` Jamie Lokier
2009-06-08 5:59 ` Avi Kivity
2009-06-08 11:57 ` Jamie Lokier
2009-06-08 12:03 ` Avi Kivity
2009-06-08 12:16 ` Jamie Lokier
2009-06-08 12:28 ` Avi Kivity
2009-06-08 12:44 ` [Qemu-devel] " Jan Kiszka
2009-06-08 13:06 ` Avi Kivity
2009-06-08 13:18 ` Jan Kiszka
2009-06-08 13:24 ` Avi Kivity
2009-06-08 13:44 ` Jan Kiszka
2009-06-08 14:03 ` Avi Kivity
2009-06-08 12:36 ` Jan Kiszka
2009-06-08 18:25 ` [Qemu-devel] " Lennart Sorensen
2009-06-06 13:27 ` Andreas Färber
2009-06-06 16:02 ` Avi Kivity
2009-06-06 16:29 ` Blue Swirl
2009-06-06 17:02 ` [Qemu-devel] " Jan Kiszka
2009-06-06 17:25 ` Blue Swirl
2009-06-06 17:32 ` Jan Kiszka
2009-06-06 19:15 ` Andreas Färber
2009-06-07 5:43 ` Avi Kivity
2009-06-07 5:01 ` Avi Kivity
2009-06-07 7:35 ` Jan Kiszka
2009-06-07 7:46 ` Avi Kivity
2009-06-07 8:33 ` Blue Swirl
2009-06-07 8:50 ` Jan Kiszka
2009-06-07 9:01 ` Blue Swirl
2009-06-07 9:25 ` Jan Kiszka
2009-06-07 9:37 ` Avi Kivity
2009-06-07 9:47 ` Jan Kiszka
2009-06-07 9:52 ` Avi Kivity
2009-06-07 9:56 ` Jan Kiszka
2009-06-07 10:06 ` Avi Kivity
2009-06-07 11:13 ` Blue Swirl [this message]
2009-06-07 11:23 ` Gleb Natapov
2009-06-07 11:26 ` Blue Swirl
2009-06-07 11:29 ` Gleb Natapov
2009-06-07 11:39 ` Avi Kivity
2009-06-07 12:40 ` Blue Swirl
2009-06-07 12:43 ` Avi Kivity
2009-06-07 12:52 ` Gleb Natapov
2009-06-07 12:56 ` Avi Kivity
2009-06-07 13:18 ` Blue Swirl
2009-06-07 13:35 ` Jan Kiszka
2009-06-07 13:35 ` Avi Kivity
2009-06-07 18:37 ` Anthony Liguori
2009-06-07 18:40 ` Blue Swirl
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=f43fc5580906070413r51745d06u5e934e7875d2a16@mail.gmail.com \
--to=blauwirbel@gmail.com \
--cc=andreas.faerber@web.de \
--cc=avi@redhat.com \
--cc=jan.kiszka@web.de \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).