[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210114183217.0000154c@Huawei.com>
Date: Thu, 14 Jan 2021 18:32:17 +0000
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: Ben Widawsky <ben.widawsky@...el.com>
CC: <linux-cxl@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-pci@...r.kernel.org>, <linux-acpi@...r.kernel.org>,
Ira Weiny <ira.weiny@...el.com>,
Dan Williams <dan.j.williams@...el.com>,
"Vishal Verma" <vishal.l.verma@...el.com>,
"Kelley, Sean V" <sean.v.kelley@...el.com>,
Rafael Wysocki <rafael.j.wysocki@...el.com>,
"Bjorn Helgaas" <helgaas@...nel.org>,
Jon Masters <jcm@...masters.org>,
Chris Browy <cbrowy@...ry-design.com>,
Randy Dunlap <rdunlap@...radead.org>,
"Christoph Hellwig" <hch@...radead.org>,
<daniel.lll@...baba-inc.com>
Subject: Re: [RFC PATCH v3 14/16] cxl/mem: Use CEL for enabling commands
On Thu, 14 Jan 2021 10:13:40 -0800
Ben Widawsky <ben.widawsky@...el.com> wrote:
> On 21-01-14 18:02:11, Jonathan Cameron wrote:
> > On Mon, 11 Jan 2021 14:51:19 -0800
> > Ben Widawsky <ben.widawsky@...el.com> wrote:
> >
> > > The Command Effects Log (CEL) is specified in the CXL 2.0 specification.
> > > The CEL is one of two types of logs, the other being vendor specific.
> > > They are distinguished in hardware/spec via UUID. The CEL is immediately
> > > useful for 2 things:
> > > 1. Determine which optional commands are supported by the CXL device.
> > > 2. Enumerate any vendor specific commands
> > >
> > > The CEL can be used by the driver to determine which commands are
> > > available in the hardware (though it isn't, yet). That set of commands
> > > might itself be a subset of commands which are available to be used via
> > > CXL_MEM_SEND_COMMAND IOCTL.
> > >
> > > Prior to this, all commands that the driver exposed were explicitly
> > > enabled. After this, only those commands that are found in the CEL are
> > > enabled.
> > >
> > > Signed-off-by: Ben Widawsky <ben.widawsky@...el.com>
> >
> > This patch made me wonder if the model for the command in quite right.
> > I think it would end up simpler with a pair of payload pointers for send
> > and receive (that can be equal when it makes sense).
> >
> > A few other things inline.
> >
> > Jonathan
>
> I'll address the others separately, but could you elaborate on this? I'm not
> sure I follow your meaning.
Further down in the review..
"
The fact that you end up bypassing the payload transfer stuff in mbox_cmd
rather suggests it's not a particularly good model. + it keeps confusing
me.
While the hardware uses a single region for the payload, there is nothing
saying the code has to work that way. Why not have separate payload_in and
payload_out pointers? Occasionally you might set them to the same buffer, but
elsewhere you could avoid the direct memcpy()s you are doing around the
send_cmd().
"
Jonathan
>
> [snip]
>
>
Powered by blists - more mailing lists