All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: "Denis V. Lunev" <den@openvz.org>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	Andrey Smetanin <asmetanin@virtuozzo.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH 11/12] qemu: add crash_occurred flag into CPUState
Date: Thu, 02 Jul 2015 18:18:34 +0200	[thread overview]
Message-ID: <5595645A.6070402@suse.de> (raw)
In-Reply-To: <1435853275-5440-12-git-send-email-den@openvz.org>

Hi,

This patch is clearly against QEMU, please name it "cpu: Add crash_...".
(You may want to take a second look at the non-CPU patches, too.)

Am 02.07.2015 um 18:07 schrieb Denis V. Lunev:
> From: Andrey Smetanin <asmetanin@virtuozzo.com>
> 
> CPUState->crash_occurred value inside CPUState marks

"CPUState::crash_occurred field inside ..."

> that guest crash occurred. This value added into cpu common

"value is added"

> migration subsection.
> 
> Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Andreas Färber <afaerber@suse.de>
> ---
>  exec.c            | 19 +++++++++++++++++++
>  include/qom/cpu.h |  1 +
>  vl.c              |  3 +++
>  3 files changed, 23 insertions(+)
> 
> diff --git a/exec.c b/exec.c
> index f7883d2..adf49e8 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -465,6 +465,24 @@ static const VMStateDescription vmstate_cpu_common_exception_index = {
>      }
>  };
>  
> +static bool cpu_common_crash_occurred_needed(void *opaque)
> +{
> +    CPUState *cpu = opaque;
> +
> +    return cpu->crash_occurred != 0;
> +}
> +
> +static const VMStateDescription vmstate_cpu_common_crash_occurred = {
> +    .name = "cpu_common/crash_occurred",
> +    .version_id = 1,
> +    .minimum_version_id = 1,
> +    .needed = cpu_common_crash_occurred_needed,
> +    .fields = (VMStateField[]) {
> +        VMSTATE_UINT32(crash_occurred, CPUState),
> +        VMSTATE_END_OF_LIST()
> +    }
> +};
> +
>  const VMStateDescription vmstate_cpu_common = {
>      .name = "cpu_common",
>      .version_id = 1,
> @@ -478,6 +496,7 @@ const VMStateDescription vmstate_cpu_common = {
>      },
>      .subsections = (const VMStateDescription*[]) {
>          &vmstate_cpu_common_exception_index,
> +        &vmstate_cpu_common_crash_occurred,
>          NULL
>      }
>  };
> diff --git a/include/qom/cpu.h b/include/qom/cpu.h
> index 39f0f19..f559a69 100644
> --- a/include/qom/cpu.h
> +++ b/include/qom/cpu.h
> @@ -263,6 +263,7 @@ struct CPUState {
>      bool created;
>      bool stop;
>      bool stopped;
> +    uint32_t crash_occurred;
>      volatile sig_atomic_t exit_request;
>      uint32_t interrupt_request;
>      int singlestep_enabled;

If you add this field to CPUState, you'll also need to reset it in
qom/cpu.c. Or is it intentionally persistent?

Looks good otherwise.

Regards,
Andreas

> diff --git a/vl.c b/vl.c
> index 38eee1f..9e0aee5 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1723,6 +1723,9 @@ void qemu_system_reset(bool report)
>  
>  void qemu_system_guest_panicked(void)
>  {
> +    if (current_cpu) {
> +        current_cpu->crash_occurred = 1;
> +    }
>      qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE, &error_abort);
>      vm_stop(RUN_STATE_GUEST_PANICKED);
>  }

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

WARNING: multiple messages have this Message-ID (diff)
From: "Andreas Färber" <afaerber@suse.de>
To: "Denis V. Lunev" <den@openvz.org>
Cc: Andrey Smetanin <asmetanin@virtuozzo.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCH 11/12] qemu: add crash_occurred flag into CPUState
Date: Thu, 02 Jul 2015 18:18:34 +0200	[thread overview]
Message-ID: <5595645A.6070402@suse.de> (raw)
In-Reply-To: <1435853275-5440-12-git-send-email-den@openvz.org>

Hi,

This patch is clearly against QEMU, please name it "cpu: Add crash_...".
(You may want to take a second look at the non-CPU patches, too.)

Am 02.07.2015 um 18:07 schrieb Denis V. Lunev:
> From: Andrey Smetanin <asmetanin@virtuozzo.com>
> 
> CPUState->crash_occurred value inside CPUState marks

"CPUState::crash_occurred field inside ..."

> that guest crash occurred. This value added into cpu common

"value is added"

> migration subsection.
> 
> Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Andreas Färber <afaerber@suse.de>
> ---
>  exec.c            | 19 +++++++++++++++++++
>  include/qom/cpu.h |  1 +
>  vl.c              |  3 +++
>  3 files changed, 23 insertions(+)
> 
> diff --git a/exec.c b/exec.c
> index f7883d2..adf49e8 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -465,6 +465,24 @@ static const VMStateDescription vmstate_cpu_common_exception_index = {
>      }
>  };
>  
> +static bool cpu_common_crash_occurred_needed(void *opaque)
> +{
> +    CPUState *cpu = opaque;
> +
> +    return cpu->crash_occurred != 0;
> +}
> +
> +static const VMStateDescription vmstate_cpu_common_crash_occurred = {
> +    .name = "cpu_common/crash_occurred",
> +    .version_id = 1,
> +    .minimum_version_id = 1,
> +    .needed = cpu_common_crash_occurred_needed,
> +    .fields = (VMStateField[]) {
> +        VMSTATE_UINT32(crash_occurred, CPUState),
> +        VMSTATE_END_OF_LIST()
> +    }
> +};
> +
>  const VMStateDescription vmstate_cpu_common = {
>      .name = "cpu_common",
>      .version_id = 1,
> @@ -478,6 +496,7 @@ const VMStateDescription vmstate_cpu_common = {
>      },
>      .subsections = (const VMStateDescription*[]) {
>          &vmstate_cpu_common_exception_index,
> +        &vmstate_cpu_common_crash_occurred,
>          NULL
>      }
>  };
> diff --git a/include/qom/cpu.h b/include/qom/cpu.h
> index 39f0f19..f559a69 100644
> --- a/include/qom/cpu.h
> +++ b/include/qom/cpu.h
> @@ -263,6 +263,7 @@ struct CPUState {
>      bool created;
>      bool stop;
>      bool stopped;
> +    uint32_t crash_occurred;
>      volatile sig_atomic_t exit_request;
>      uint32_t interrupt_request;
>      int singlestep_enabled;

If you add this field to CPUState, you'll also need to reset it in
qom/cpu.c. Or is it intentionally persistent?

Looks good otherwise.

Regards,
Andreas

> diff --git a/vl.c b/vl.c
> index 38eee1f..9e0aee5 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1723,6 +1723,9 @@ void qemu_system_reset(bool report)
>  
>  void qemu_system_guest_panicked(void)
>  {
> +    if (current_cpu) {
> +        current_cpu->crash_occurred = 1;
> +    }
>      qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE, &error_abort);
>      vm_stop(RUN_STATE_GUEST_PANICKED);
>  }

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

  reply	other threads:[~2015-07-02 16:18 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-02 16:07 [PATCH v5 0/12] HyperV equivalent of pvpanic driver Denis V. Lunev
2015-07-02 16:07 ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 01/12] kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 02/12] kvm: introduce vcpu_debug = kvm_debug + vcpu context Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 03/12] kvm: add hyper-v crash msrs values Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 04/12] kvm/x86: added hyper-v crash msrs into kvm hyperv context Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 05/12] kvm: added KVM_REQ_HV_CRASH value to notify qemu about hyper-v crash Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 06/12] kvm/x86: mark hyper-v crash msrs as partition wide Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 07/12] kvm/x86: added hyper-v crash data and ctl msr's get/set'ers Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:29   ` Paolo Bonzini
2015-07-02 16:29     ` [Qemu-devel] " Paolo Bonzini
2015-07-02 16:07 ` [PATCH 08/12] kvm/x86: add sending hyper-v crash notification to user space Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 09/12] qemu: added qemu_system_guest_panicked() - generic guest panic handler Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 10/12] qemu/kvm: added kvm system event crash handler Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:07 ` [PATCH 11/12] qemu: add crash_occurred flag into CPUState Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:18   ` Andreas Färber [this message]
2015-07-02 16:18     ` Andreas Färber
2015-07-02 16:26     ` Paolo Bonzini
2015-07-02 16:26       ` [Qemu-devel] " Paolo Bonzini
2015-07-02 16:07 ` [PATCH 12/12] qemu/kvm/x86: hyper-v crash msrs set/get'ers and migration Denis V. Lunev
2015-07-02 16:07   ` [Qemu-devel] " Denis V. Lunev
2015-07-02 16:18   ` Paolo Bonzini
2015-07-02 16:18     ` [Qemu-devel] " 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=5595645A.6070402@suse.de \
    --to=afaerber@suse.de \
    --cc=asmetanin@virtuozzo.com \
    --cc=den@openvz.org \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.