From: Cornelia Huck <cohuck@redhat.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
David Hildenbrand <david@redhat.com>,
qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
qemu-s390x <qemu-s390x@nongnu.org>,
qemu-ppc@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH 1/3] qmp: don't emit the RESET event on wakeup
Date: Fri, 19 Jul 2019 11:19:03 +0200 [thread overview]
Message-ID: <20190719111903.16c0ddca.cohuck@redhat.com> (raw)
In-Reply-To: <1563491554.u6nwg4s25n.astroid@bobo.none>
On Fri, 19 Jul 2019 09:24:20 +1000
Nicholas Piggin <npiggin@gmail.com> wrote:
> Christian Borntraeger's on July 18, 2019 9:27 pm:
> >
> >
> > On 18.07.19 13:06, Paolo Bonzini wrote:
> >> On 18/07/19 12:39, Nicholas Piggin wrote:
> >>> Commit 1405819637f53 ("qmp: don't emit the RESET event on wakeup from
> >>> S3") changed system wakeup to avoid calling qapi_event_send_reset.
> >>> Commit 76ed4b18debfe ("s390/ipl: fix ipl with -no-reboot") appears to
> >>> have inadvertently broken that logic.
> >>>
> >>> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> >>> ---
> >>> I'm not quite sure if this patch is correct and haven't tested it, I
> >>> found it by inspection. If this patch is incorrect, I will have to
> >>> adjust patch 2.
> >>>
> >>> vl.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/vl.c b/vl.c
> >>> index 5089fce6c5..ef3c7ab8b8 100644
> >>> --- a/vl.c
> >>> +++ b/vl.c
> >>> @@ -1550,7 +1550,7 @@ void qemu_system_reset(ShutdownCause reason)
> >>> } else {
> >>> qemu_devices_reset();
> >>> }
> >>> - if (reason != SHUTDOWN_CAUSE_SUBSYSTEM_RESET) {
> >>> + if (reason && reason != SHUTDOWN_CAUSE_SUBSYSTEM_RESET) {
> >>> qapi_event_send_reset(shutdown_caused_by_guest(reason), reason);
> >>> }
> >>> cpu_synchronize_all_post_reset();
> >>>
> >>
> >> Yes, it seems correct and I've queued it for 4.1.
FWIW,
Acked-by: Cornelia Huck <cohuck@redhat.com>
> >
> > Yes makes sense.
> > Would it be better to write out if(reason) e.g. replace "reason" with "reason != SHUTDOWN_CAUSE_NONE" ?
>
> I guess it's a matter of preference so I won't weigh in :) My patch
> did try to revert back to the previous form but I'm happy to change
> it.
>
> > Going even further, I am asking myself if something like
> >
> > diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
> > index 60bd081d3ef3..406743566869 100644
> > --- a/hw/s390x/ipl.c
> > +++ b/hw/s390x/ipl.c
> > @@ -577,7 +577,7 @@ void s390_ipl_reset_request(CPUState *cs, enum s390_reset reset_type)
> > if (reset_type == S390_RESET_MODIFIED_CLEAR ||
> > reset_type == S390_RESET_LOAD_NORMAL) {
> > /* ignore -no-reboot, send no event */
> > - qemu_system_reset_request(SHUTDOWN_CAUSE_SUBSYSTEM_RESET);
> > + qemu_system_reset_request(SHUTDOWN_CAUSE_NONE);
> > } else {
> > qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
> > }
> >
> > would also work.
Doesn't that have side effects in qemu_system_reset_request()?
>
> If that works for you, then you could take out the test in the reset
> code. You would have to modify qemu_system_reset_request too of course.
>
> But it seems a bit unsatisfactory to change the reason for the request
> so as to influence behaviour. Either the requests should ask for
> particular behaviour, or the logic for determining how to handle
> the type of request should remain in the reset logic, I would say.
Agreed.
next prev parent reply other threads:[~2019-07-19 9:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-18 10:39 [Qemu-devel] [PATCH 0/3] Series to implement suspend for ppc/spapr Nicholas Piggin
2019-07-18 10:39 ` [Qemu-devel] [PATCH 1/3] qmp: don't emit the RESET event on wakeup Nicholas Piggin
2019-07-18 11:06 ` Paolo Bonzini
2019-07-18 11:27 ` Christian Borntraeger
2019-07-18 23:24 ` Nicholas Piggin
2019-07-19 7:33 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
2019-07-19 9:19 ` Cornelia Huck [this message]
2019-07-18 10:39 ` [Qemu-devel] [PATCH 2/3] machine: Add wakeup method to MachineClass Nicholas Piggin
2019-07-18 10:39 ` [Qemu-devel] [PATCH 3/3] spapr: Implement ibm,suspend-me Nicholas Piggin
2019-07-18 11:08 ` [Qemu-devel] [PATCH 0/3] Series to implement suspend for ppc/spapr Paolo Bonzini
2019-07-18 23:25 ` Nicholas Piggin
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=20190719111903.16c0ddca.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kraxel@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=npiggin@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@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).