[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 7/7] hw/cxl/events: Add injection of Memory Module Events
|
From: |
Markus Armbruster |
|
Subject: |
Re: [PATCH v5 7/7] hw/cxl/events: Add injection of Memory Module Events |
|
Date: |
Mon, 22 May 2023 09:47:34 +0200 |
|
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Jonathan Cameron <Jonathan.Cameron@huawei.com> writes:
> These events include a copy of the device health information at the
> time of the event. Actually using the emulated device health would
> require a lot of controls to manipulate that state. Given the aim
> of this injection code is to just test the flows when events occur,
> inject the contents of the device health state as well.
>
> Future work may add more sophisticate device health emulation
> including direct generation of these records when events occur
> (such as a temperature threshold being crossed). That does not
> reduce the usefulness of this more basic generation of the events.
>
> Reviewed-by: Ira Weiny <ira.weiny@intel.com>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
[...]
> diff --git a/qapi/cxl.json b/qapi/cxl.json
> index 190db58385..aae70667c2 100644
> --- a/qapi/cxl.json
> +++ b/qapi/cxl.json
> @@ -90,6 +90,41 @@
> '*column': 'uint16', '*correction-mask': [ 'uint64' ]
> }}
>
> +##
> +# @cxl-inject-memory-module-event:
> +#
> +# Inject an event record for a Memory Module Event (CXL r3.0 8.2.9.2.1.3)
End the sentence with a period, please.
> +# This event includes a copy of the Device Health info at the time of
> +# the event.
> +#
> +# @path: CXL type 3 device canonical QOM path
> +# @log: Event Log to add the event to
> +# @flags: header flags
> +# @type: Device Event Type (see spec for permitted values)
> +# @health-status: Overall health summary bitmap (see spec for permitted bits)
> +# @media-status: Overall media health summary (see spec for permitted values)
> +# @additional-status: Complex field (see spec for meaning)
"spec" is not a word. Yes, typing out references gets tedious, but your
readers will appreciate tediously unambiguous references.
> +# @life-used: Percentage (0-100) of factory expected life span
> +# @temperature: Device temperature in degrees Celsius
> +# @dirty-shutdown-count: Counter incremented whenever device is unable
Suggest something like "number of times the device has been unable to
determine whether data loss ..."
> +# to determine if data loss may have occurred.
> +# @corrected-volatile-error-count: Total number of correctable errors in
> +# volatile memory
> +# @corrected-persistent-error-count: Total number correctable errors in
> +# persistent memory
> +#
> +# Since: 8.1
> +##
Please format like
##
# @cxl-inject-memory-module-event:
#
# Inject an event record for a Memory Module Event (CXL r3.0
# 8.2.9.2.1.3). This event includes a copy of the Device Health info
# at the time of the event.
#
# @path: CXL type 3 device canonical QOM path
#
# @log: Event Log to add the event to
#
# @flags: header flags
#
# @type: Device Event Type (see spec for permitted values)
#
# @health-status: Overall health summary bitmap (see spec for
# permitted bits)
#
# @media-status: Overall media health summary (see spec for permitted
# values)
#
# @additional-status: Complex field (see spec for meaning)
#
# @life-used: Percentage (0-100) of factory expected life span
#
# @temperature: Device temperature in degrees Celsius
#
# @dirty-shutdown-count: Counter incremented whenever device is unable
# to determine if data loss may have occurred.
#
# @corrected-volatile-error-count: Total number of correctable errors
# in volatile memory
#
# @corrected-persistent-error-count: Total number correctable errors
# in persistent memory
#
# Since: 8.1
##
to blend in with recent commit a937b6aa739 (qapi: Reformat doc comments
to conform to current conventions).
> +{ 'command': 'cxl-inject-memory-module-event',
> + 'data': { 'path': 'str', 'log': 'CxlEventLog', 'flags' : 'uint8',
> + 'type': 'uint8', 'health-status': 'uint8',
> + 'media-status': 'uint8', 'additional-status': 'uint8',
> + 'life-used': 'uint8', 'temperature' : 'int16',
> + 'dirty-shutdown-count': 'uint32',
> + 'corrected-volatile-error-count': 'uint32',
> + 'corrected-persistent-error-count': 'uint32'
> + }}
> +
> ##
> # @cxl-inject-poison:
> #