qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support


From: Jonathan Cameron
Subject: Re: [PATCH v6 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support.
Date: Thu, 2 Mar 2023 17:22:52 +0000

On Thu, 2 Mar 2023 05:55:00 -0500
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Thu, Mar 02, 2023 at 11:49:52AM +0100, Philippe Mathieu-Daudé wrote:
> > On 2/3/23 11:06, Jonathan Cameron wrote:  
> > > +CC Michael Roth.
> > > 
> > > Michael Tsirkin noted I'd missed CCing QAPI maintaintainers on the
> > > poison injection series so I went back to check the others I had out for 
> > > review.
> > > For this series I'd managed to pick up one of two as Markus gave comments 
> > > on
> > > earlier versions.  
> > 
> > Now LGTM for meson/QAPI (although I'm not a QAPI maintainer).
> > 
> > Hopefully MST can take your series just in time for soft freeze.  
> 
> 
> Bottleneck is QAPI right now. Consider CC Eric and maybe Daniel
> because Daniel is awesome and has been helping out with lots
> of stuff among them QAPI.

Thanks for the tip.  Resent with additional CCs (hopefully to right
people!) and a note that we are looking for qapi review.

With the benefit of hindsight I'd have ordered the series differently
if I'd guessed we'd bottleneck here.

Jonathan

> 
> > > On Mon, 27 Feb 2023 11:27:51 +0000
> > > Jonathan Cameron via <qemu-devel@nongnu.org> wrote:
> > >   
> > > > CXL uses PCI AER Internal errors to signal to the host that an error has
> > > > occurred. The host can then read more detailed status from the CXL RAS
> > > > capability.
> > > > 
> > > > For uncorrectable errors: support multiple injection in one operation
> > > > as this is needed to reliably test multiple header logging support in an
> > > > OS. The equivalent feature doesn't exist for correctable errors, so only
> > > > one error need be injected at a time.
> > > > 
> > > > Note:
> > > >   - Header content needs to be manually specified in a fashion that
> > > >     matches the specification for what can be in the header for each
> > > >     error type.
> > > > 
> > > > Injection via QMP:
> > > > { "execute": "qmp_capabilities" }
> > > > ...
> > > > { "execute": "cxl-inject-uncorrectable-errors",
> > > >    "arguments": {
> > > >      "path": "/machine/peripheral/cxl-pmem0",
> > > >      "errors": [
> > > >          {
> > > >              "type": "cache-address-parity",
> > > >              "header": [ 3, 4]
> > > >          },
> > > >          {
> > > >              "type": "cache-data-parity",
> > > >              "header": 
> > > > [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
> > > >          },
> > > >          {
> > > >              "type": "internal",
> > > >              "header": [ 1, 2, 4]
> > > >          }
> > > >          ]
> > > >    }}
> > > > ...
> > > > { "execute": "cxl-inject-correctable-error",
> > > >      "arguments": {
> > > >          "path": "/machine/peripheral/cxl-pmem0",
> > > >          "type": "physical"
> > > >      } }
> > > > 
> > > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > > > ---
> > > > v6: (Thanks to Philippe Mathieu-Daudé)
> > > > - Add Since entries in cxl.json
> > > > - Add error prints in the stub functions so that if they are called 
> > > > without
> > > >    CONFIG_CXL_MEM_DEVICE then we get a useful print rather than just 
> > > > silently
> > > >    eating them.
> > > > ---
> > > >   hw/cxl/cxl-component-utils.c   |   4 +-
> > > >   hw/mem/cxl_type3.c             | 281 +++++++++++++++++++++++++++++++++
> > > >   hw/mem/cxl_type3_stubs.c       |  17 ++
> > > >   hw/mem/meson.build             |   2 +
> > > >   include/hw/cxl/cxl_component.h |  26 +++
> > > >   include/hw/cxl/cxl_device.h    |  11 ++
> > > >   qapi/cxl.json                  | 128 +++++++++++++++
> > > >   qapi/meson.build               |   1 +
> > > >   qapi/qapi-schema.json          |   1 +
> > > >   9 files changed, 470 insertions(+), 1 deletion(-)  
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]