qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: libvir-list@redhat.com, qemu-devel@nongnu.org, ehabkost@redhat.com
Subject: Re: [Qemu-devel] [PATCH] deprecate -mem-path fallback to anonymous RAM
Date: Mon, 24 Jun 2019 16:01:49 +0200	[thread overview]
Message-ID: <87y31rnktu.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20190624115805.36cc794a@redhat.com> (Igor Mammedov's message of "Mon, 24 Jun 2019 11:58:05 +0200")

Igor Mammedov <imammedo@redhat.com> writes:

> On Mon, 24 Jun 2019 10:17:33 +0200
> Markus Armbruster <armbru@redhat.com> wrote:
>
>> Igor Mammedov <imammedo@redhat.com> writes:
>> 
>> > Fallback might affect guest or worse whole host performance
>> > or functionality if backing file were used to share guest RAM
>> > with another process.
>> >
>> > Patch deprecates fallback so that we could remove it in future
>> > and ensure that QEMU will provide expected behavior and fail if
>> > it can't use user provided backing file.
>> >
>> > Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>> > ---
>> > PS:
>> > Patch is written on top of
>> >   [PATCH v4 0/3] numa: deprecate '-numa node,  mem' and default memory distribution
>> > to avoid conflicts in qemu-deprecated.texi
>> >
>> >  numa.c               | 4 ++--
>> >  qemu-deprecated.texi | 8 ++++++++
>> >  2 files changed, 10 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/numa.c b/numa.c
>> > index 91a29138a2..53d67b8ad9 100644
>> > --- a/numa.c
>> > +++ b/numa.c
>> > @@ -494,8 +494,8 @@ static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
>> >              if (mem_prealloc) {
>> >                  exit(1);
>> >              }
>> > -            error_report("falling back to regular RAM allocation.");
>> > -
>> > +            warn_report("falling back to regular RAM allocation. "
>> > +                        "Fallback to RAM allocation is deprecated.");  
>> 
>> Can we give the user clues on how to avoid the deprecated fallback?
>
> I've intentionally left it out for a lack of clear enough advise.
> Something like:
>   "Make sure that host has resources to map file pointed by -mem-path"
> would be pretty useless.

I see.

> I think describing how host should be configured in various ways
> depending on type of backing storage is well out of scope of any
> QEMU documentation. But if you have an idea to what to put there
> (or what to put in deprecation doc and refer to from here),
> I'll add it on respin.
>
>> Warning message nitpick: the message should be a single phrase, with no
>> newline or trailing punctuation.  Suggest something like
>> 
>>                warn_report("falling back to regular RAM allocation");
>>                error_printf("This is deprecated.  <Advice on what\n"
>>                             "to do goes here>\n");
>> 
>> >              /* Legacy behavior: if allocation failed, fall back to
>> >               * regular RAM allocation.
>> >               */
>> > diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
>> > index 2fe9b72121..2193705644 100644
>> > --- a/qemu-deprecated.texi
>> > +++ b/qemu-deprecated.texi
>> > @@ -112,6 +112,14 @@ QEMU using implicit generic or board specific splitting rule.
>> >  Use @option{memdev} with @var{memory-backend-ram} backend or @option{mem} (if
>> >  it's supported by used machine type) to define mapping explictly instead.
>> >  
>> > +@subsection -mem-path fallback to RAM (since 4.1)
>> > +Currently if system memory allocation from file pointed by @option{mem-path}
>> > +fails, QEMU fallbacks to allocating from anonymous RAM. Which might result
>> > +in unpredictable behavior since provided backing file wasn't used.  
>> 
>> 
>> Noch such verb "to fallback", obvious fix "QEMU falls back to"
>> 
>> Suggest "RAM, which might".
>> 
>> Better: "since the backing file specified by the user is ignored".
>> 
>> >                                                                     In future
>> > +QEMU will not fallback and fail to start up, so user could fix his/her QEMU/host
>> > +configuration or explicitly use -m without -mem-path if system memory allocated
>> > +from anonymous RAM suits usecase.  
>> 
>> What's "system memory allocation"?
> Using man page language, would be
>  'guest startup RAM size'
> acceptable?
>
>
>> Perhaps: "In the future, QEMU will not fall back, but fail instead.
>> Adjust either the host configuration [FIXME how?] or the QEMU
>> configuration [FIXME how?]."
>
> Maybe
> "
>  In the future, QEMU will not fall back, but fail instead.
>  Adjust either the QEMU configuration by removing @option{-mem-path} so
>  QEMU will use only anonymous or host configuration to make sure that

Do you mean "only anonymous memory"?

>  there are sufficient resources on backing storage pointed by -mem-path
>  to allocate amount specified by @option{-m}.
> "

Perhaps this could suffice: "Users will be responsible for making sure
the backing storage specified with -mem-path can actually provide the
guest RAM configured with -m."

>> > +
>> >  @section QEMU Machine Protocol (QMP) commands
>> >  
>> >  @subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0)  
>> 


  reply	other threads:[~2019-06-24 14:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-20 11:41 [Qemu-devel] [PATCH] deprecate -mem-path fallback to anonymous RAM Igor Mammedov
2019-06-20 11:52 ` Daniel P. Berrangé
2019-06-20 13:34 ` Dr. David Alan Gilbert
2019-06-24  8:17 ` Markus Armbruster
2019-06-24  9:36   ` [Qemu-devel] [libvirt] " Daniel P. Berrangé
2019-06-24 10:50     ` Igor Mammedov
2019-06-24  9:58   ` [Qemu-devel] " Igor Mammedov
2019-06-24 14:01     ` Markus Armbruster [this message]
2019-06-25 11:32       ` Igor Mammedov

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=87y31rnktu.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=libvir-list@redhat.com \
    --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).