All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: armbru@redhat.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
	eblake@redhat.com, groug@kaod.org
Subject: Re: [PATCH v3 1/3] qapi/qdev.json: add DEVICE_UNPLUG_ERROR QAPI event
Date: Tue, 6 Jul 2021 21:20:08 -0300	[thread overview]
Message-ID: <96b2510d-1406-2014-88da-66454cd6de32@gmail.com> (raw)
In-Reply-To: <YOKQBhdJcDMm2noC@yekko>



On 7/5/21 1:52 AM, David Gibson wrote:
> On Mon, Jun 21, 2021 at 05:59:05PM -0300, Daniel Henrique Barboza wrote:
>> At this moment we only provide one event to report a hotunplug error,
>> MEM_UNPLUG_ERROR. As of Linux kernel 5.12 and QEMU 6.0.0, the pseries
>> machine is now able to report unplug errors for other device types, such
>> 	as CPUs.
> 
> Something seems to have gone weirdly wrong with the formatting here.

I have no idea what happened lol


> 
>> 	Instead of creating a (device_type)_UNPLUG_ERROR for each new device,
>> 	create a generic DEVICE_UNPLUG_ERROR event that can be used by all
>> 	unplug errors in the future.
>>
>> 	With this new generic event, MEM_UNPLUG_ERROR is now marked as deprecated.
>>
>> 	Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
> 
> Apart from that
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

Thanks for the reviews! I'll resend the series (hopefully with the proper
formatting) with your R-bs.



Daniel

> 
>> 	---
>> 	 docs/system/deprecated.rst | 10 ++++++++++
>> 	 qapi/machine.json          |  6 +++++-
>> 	 qapi/qdev.json             | 27 ++++++++++++++++++++++++++-
>> 	 3 files changed, 41 insertions(+), 2 deletions(-)
>>
>> 	diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
>> 	index e2e0090878..c8200d99d4 100644
>> 	--- a/docs/system/deprecated.rst
>> 	+++ b/docs/system/deprecated.rst
>> 	@@ -192,6 +192,16 @@ The ``I7200`` guest CPU relies on the nanoMIPS ISA, which is deprecated
>> 	 (the ISA has never been upstreamed to a compiler toolchain). Therefore
>> 	 this CPU is also deprecated.
>> 	
>> 	+
>> 	+QEMU API (QAPI) events
>> 	+----------------------
>> 	+
>> 	+``MEM_UNPLUG_ERROR`` (since 6.1)
>> 	+''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>> 	+
>> 	+Use the more generic event ``DEVICE_UNPLUG_ERROR`` instead.
>> 	+
>> 	+
>> 	 System emulator machines
>> 	 ------------------------
>> 	
>> 	diff --git a/qapi/machine.json b/qapi/machine.json
>> 	index e4d0f9b24f..91dc520734 100644
>> 	--- a/qapi/machine.json
>> 	+++ b/qapi/machine.json
>> 	@@ -1271,6 +1271,9 @@
>> 	 #
>> 	 # @msg: Informative message
>> 	 #
>> 	+# Features:
>> 	+# @deprecated: This event is deprecated. Use @DEVICE_UNPLUG_ERROR instead.
>> 	+#
>> 	 # Since: 2.4
>> 	 #
>> 	 # Example:
>> 	@@ -1283,4 +1286,5 @@
>> 	 #
>> 	 ##
>> 	 { 'event': 'MEM_UNPLUG_ERROR',
>> 	-  'data': { 'device': 'str', 'msg': 'str' } }
>> 	+  'data': { 'device': 'str', 'msg': 'str' },
>> 	+  'features': ['deprecated'] }
>> 	diff --git a/qapi/qdev.json b/qapi/qdev.json
>> 	index b83178220b..349d7439fa 100644
>> 	--- a/qapi/qdev.json
>> 	+++ b/qapi/qdev.json
>> 	@@ -84,7 +84,9 @@
>> 	 #        This command merely requests that the guest begin the hot removal
>> 	 #        process.  Completion of the device removal process is signaled with a
>> 	 #        DEVICE_DELETED event. Guest reset will automatically complete removal
>> 	-#        for all devices.
>> 	+#        for all devices. If an error in the hot removal process is detected,
>> 	+#        the device will not be removed and a DEVICE_UNPLUG_ERROR event is
>> 	+#        sent.
>> 	 #
>> 	 # Since: 0.14
>> 	 #
>> 	@@ -124,3 +126,26 @@
>> 	 ##
>> 	 { 'event': 'DEVICE_DELETED',
>> 	   'data': { '*device': 'str', 'path': 'str' } }
>> 	+
>> 	+##
>> 	+# @DEVICE_UNPLUG_ERROR:
>> 	+#
>> 	+# Emitted when a device hot unplug error occurs.
>> 	+#
>> 	+# @device: device name
>> 	+#
>> 	+# @msg: Informative message
>> 	+#
>> 	+# Since: 6.1
>> 	+#
>> 	+# Example:
>> 	+#
>> 	+# <- { "event": "DEVICE_UNPLUG_ERROR"
>> 	+#      "data": { "device": "dimm1",
>> 	+#                "msg": "Memory hotunplug rejected by the guest for device dimm1"
>> 	+#      },
>> 	+#      "timestamp": { "seconds": 1615570772, "microseconds": 202844 } }
>> 	+#
>> 	+##
>> 	+{ 'event': 'DEVICE_UNPLUG_ERROR',
>> 	+  'data': { 'device': 'str', 'msg': 'str' } }
>>
> 


  reply	other threads:[~2021-07-07  0:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 20:59 [PATCH v3 0/3] DEVICE_UNPLUG_ERROR QAPI event Daniel Henrique Barboza
2021-06-21 20:59 ` [PATCH v3 1/3] qapi/qdev.json: add " Daniel Henrique Barboza
2021-07-05  4:52   ` David Gibson
2021-07-07  0:20     ` Daniel Henrique Barboza [this message]
2021-06-21 20:59 ` [PATCH v3 2/3] spapr: use DEVICE_UNPLUG_ERROR to report unplug errors Daniel Henrique Barboza
2021-07-05  4:55   ` David Gibson
2021-06-21 20:59 ` [PATCH v3 3/3] memory_hotplug.c: send DEVICE_UNPLUG_ERROR in acpi_memory_hotplug_write() Daniel Henrique Barboza
2021-07-05  4:56   ` David Gibson

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=96b2510d-1406-2014-88da-66454cd6de32@gmail.com \
    --to=danielhb413@gmail.com \
    --cc=armbru@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=eblake@redhat.com \
    --cc=groug@kaod.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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.