From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, virtualization@lists.linux-foundation.org
Subject: Re: [PATCH] virtio-balloon spec: rework VIRTIO_BALLOON_F_MUST_TELL_HOST feature, support silent deflation
Date: Tue, 28 May 2013 13:45:03 +0300 [thread overview]
Message-ID: <20130528104503.GD5467@redhat.com> (raw)
In-Reply-To: <51A46D0B.9080508@redhat.com>
On Tue, May 28, 2013 at 10:38:35AM +0200, Paolo Bonzini wrote:
> Il 27/05/2013 19:02, Michael S. Tsirkin ha scritto:
> >>> So if we don't want to require all guests to tell host
> >>> first, all we need to do is admit it's not a bug.
> >>
> >> I think we want the possibility for the host to require that.
> >
> > But why? TELL_HOST makes some optimizations possible, but if
> > guest won't cooperate, balloon is useless anyway.
>
> If the guest won't tell host and still propose the feature,
Ack feature but don't tell host? That would be a clear guest bug.
AFAIK that's not what windows drivers do.
Am I wrong?
> then we can
> crash it. So we need to know what the guest is going to do, in order to
> enable/disable the optimization.
>
> > If guest cooperates we don't have to require anything,
> > just go with what guest tells us it will do.
>
> Yes.
>
> >>> Please see
> >>> [PATCH] virtio-spec: balloon: MUST_TELL_HOST is optional
> >>> that does exactly this.
> >>
> >> That patch mandates a change in guest behavior that is not compatible
> >> with the existing Windows driver. Mine doesn't.
> >>
> >> Paolo
> >
> > Hmm I don't see it.
> > In fact the goal was to document the Windows driver behaviour
> > as correct.
> > Can you explain the incompatibility please?
>
> Whenever "If the X feature is (not) negotiated" is used in the spec, it
> means "in general you should be ready to implement both behaviors", or
> perhaps the guest should fail to initialize if the feature is not available.
"you" meaning host. Yes.
But here guest can tell host first *always if it wants to - it will
just be a bit slower when reusing pages from balloon.
If it acked the feature, it *must* tell host first.
>
> Here it is the other way round. The existing guest is not checking the
> outcome of the negotiation, so the host must check whether negotiation
> happened and possibly fail the initialization of the device. It is
> sufficiently different from any other case that I don't think a one-word
> change is enough.
>
> The way I read it yesterday I didn't see any change from the current
> specification, so the problem of having a "negative feature" remains.
This is standard behaviour:
- guest can ignore any feature that it does not ack
- host must implement both behaviours for guests that
do and for guests that do not ack features
This is exactly what I'm proposing for TELL_HOST.
> Now rereading it, it may be correct, but it is not clear enough.
>
> Perhaps my patch is even too verbose, but it doesn't leave anything open
> for interpretation.
>
> Paolo
I'm fine with adding more clarifications but I don't yet see why
do we need a new bit.
--
MST
next prev parent reply other threads:[~2013-05-28 10:44 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-08 10:10 [PATCH] virtio-balloon spec: rework VIRTIO_BALLOON_F_MUST_TELL_HOST feature, support silent deflation Paolo Bonzini
2013-05-27 15:55 ` Paolo Bonzini
2013-05-27 16:04 ` Michael S. Tsirkin
2013-05-27 16:09 ` Paolo Bonzini
2013-05-27 17:02 ` Michael S. Tsirkin
2013-05-28 8:38 ` Paolo Bonzini
2013-05-28 10:45 ` Michael S. Tsirkin [this message]
2013-05-28 11:13 ` Paolo Bonzini
2013-05-28 11:44 ` Michael S. Tsirkin
2013-05-28 12:04 ` Paolo Bonzini
2013-05-28 13:32 ` Michael S. Tsirkin
2013-05-28 14:06 ` Paolo Bonzini
2013-05-28 14:29 ` Michael S. Tsirkin
2013-05-28 14:32 ` Paolo Bonzini
2013-05-28 15:09 ` Michael S. Tsirkin
2013-05-28 16:23 ` Paolo Bonzini
2013-05-28 16:50 ` Michael S. Tsirkin
2013-05-28 16:57 ` Paolo Bonzini
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=20130528104503.GD5467@redhat.com \
--to=mst@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=virtualization@lists.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