[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210114190425.rxupmrjm3jfjorj4@intel.com>
Date: Thu, 14 Jan 2021 11:04:25 -0800
From: Ben Widawsky <ben.widawsky@...el.com>
To: Jonathan Cameron <Jonathan.Cameron@...wei.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 21-01-14 18:32:17, Jonathan Cameron wrote:
> 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
>
>
Ah I was confused if that was a separate statement.
Can you specify the function prototype you're hoping for (or modification to the
structure)?
I really like the lowest level function to simply model the hardware. I get to
write the 8 steps out and clearly implement them.
I personally don't think it's so awkward, but again, give me something more
specific and I'll consider it.
Powered by blists - more mailing lists