From: Markus Armbruster <armbru@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: "Marc-André Lureau" <marcandre.lureau@gmail.com>,
"Hogan Wang" <hogan.wang@huawei.com>,
berrange@redhat.com, qemu-devel@nongnu.org,
wangxinxin.wang@huawei.com
Subject: Re: [PATCH 3/3] dump: support cancel dump process
Date: Mon, 01 Aug 2022 14:38:09 +0200 [thread overview]
Message-ID: <8735eggmvi.fsf@pond.sub.org> (raw)
In-Reply-To: <YuKXYEVLYA8BCqjY@redhat.com> (Kevin Wolf's message of "Thu, 28 Jul 2022 16:04:16 +0200")
Kevin Wolf <kwolf@redhat.com> writes:
> Am 28.07.2022 um 14:37 hat Marc-André Lureau geschrieben:
>> Hi
>>
>> On Wed, Jul 27, 2022 at 6:02 PM Hogan Wang via <qemu-devel@nongnu.org>
>> wrote:
>>
>> > Break saving pages or dump iterate when dump job in cancel state,
>> > make sure dump process exits as soon as possible.
>> >
>> > Signed-off-by: Hogan Wang <hogan.wang@huawei.com>
>> >
>>
>> Overall, the series looks good to me. Please send it with a top cover
>> letter, so it can be processed by patchew too.
>>
>> I am not familiar with the job infrastructure, it would be nice if Kevin
>> could check the usage or give some advice.
>
> There is one big point I see with this series, which is that it could be
> considered an incompatible change to 'dump-guest-memory'. Clients are
> expected to manage the job now. Though in practice with the default
> settings, maybe it actually just results in clients receiving additional
> QMP events. (Technically, it is still incompatible because the command
> will now fail if you have another job called 'memory-guest-dump' - no
> good reason to have that, but it's a scenario that worked and breaks
> after this series.)
>
> Markus, do you have an opinion on whether job creation must be
> explicitly enabled with a new option or if we can just switch existing
> callers?
The conservative answer is to create a job only when new optional
argument @job-id is present, else maintain the traditional behavior.
This means we get to maintain two variations of the command: with and
without a job.
I can see the following alternatives:
(1) Keep both variations forever. This could make sense if we believe
the additional complexity and maintenance burden is insignificant.
(2) Deprecate "without a job", and remove it after a suitable grace
period. @job-id becomes mandatory then.
(3) Create a job even when the user doesn't ask for it (@job-id absent),
accept the change in behavior. This could make sense if we're
confident the change is harmless in practice. First step would be
documenting the change in behavior. Second step would be the
argument why it's harmless.
We may want to deprecate absent @job-id then, so we can get rid of
the special case after a suitable grace period.
Does this answer your question, Kevin?
> The implementation of a very basic job looks mostly okay to me, though
> of course it doesn't support a few things like pausing the job and
> proper progress monitoring. But these things are optional, so it's not a
> blocker.
We can always improve on top.
> The one thing I would strongly recommend to include is an auto-dismiss
> option like every other job has. It is required so that management tools
> can query the final job status before it goes away. Most of the
> information is in QMP events, too, but events can be lost.
Concur. Transmitting important information in QMP events only is an
interface design flaw.
> auto-finalize
> isn't required for this job because it doesn't actually do anything in
> the finalize phase.
>
> I'm not sure how safe the whole thing is when it runs in the background
> and you can send additional QMP commands while it's running, but that is
> preexisting with detach=true.
>
> Kevin
prev parent reply other threads:[~2022-08-01 12:39 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-27 14:01 [PATCH 1/3] job: introduce dump guest memory job Hogan Wang via
2022-07-27 14:01 ` [PATCH 2/3] dump: use jobs framework for dump guest memory Hogan Wang via
2022-07-28 12:27 ` Marc-André Lureau
2022-07-27 14:01 ` [PATCH 3/3] dump: support cancel dump process Hogan Wang via
2022-07-28 12:37 ` Marc-André Lureau
2022-07-28 14:04 ` Kevin Wolf
2022-08-01 12:38 ` Markus Armbruster [this message]
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=8735eggmvi.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=hogan.wang@huawei.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=wangxinxin.wang@huawei.com \
/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).