Linux CXL
 help / color / mirror / Atom feed
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: "Schofield, Alison" <alison.schofield@intel.com>,
	Ben Widawsky <ben.widawsky@intel.com>,
	Ira Weiny <ira.weiny@intel.com>,
	Vishal Verma <vishal.l.verma@intel.com>,
	<linux-cxl@vger.kernel.org>
Subject: Re: [PATCH v3 0/9] Do not allow set-partition immediate mode
Date: Wed, 30 Mar 2022 16:05:22 +0100	[thread overview]
Message-ID: <20220330160522.000018ad@Huawei.com> (raw)
In-Reply-To: <CAPcyv4i36Mnza83Bg0+VfVfL_+84EK=Y6aGBa+MF4tQ32HP3AQ@mail.gmail.com>

On Tue, 29 Mar 2022 18:24:50 -0700
Dan Williams <dan.j.williams@intel.com> wrote:

> On Fri, Mar 25, 2022 at 3:34 AM Jonathan Cameron
> <Jonathan.Cameron@huawei.com> wrote:
> >
> > On Wed, 23 Mar 2022 18:11:17 -0700
> > alison.schofield@intel.com wrote:
> >  
> > > From: Alison Schofield <alison.schofield@intel.com>
> > >
> > > Blocking immediate mode in set-partition info triggered a
> > > refactoring of the send path of userspace mailbox commands.
> > >
> > > The v1 to address the issue was a single patch [1] that inserted
> > > a new immediate mode check in the send path where the payload was
> > > available for examining. That was not in a validation function.
> > >
> > > The v2 patchset [2] added refactoring of the send path so that
> > > validation work can all spawn from cxl_validate_cmd_from_user().
> > >
> > > Here, v3 offers a finer level of refactoring:
> > >
> > > Patches 1-7: Refactor existing code so that all validation work
> > >       can spawn from cxl_validate_cmd_from_user().
> > >
> > >       The movement intends to cleanly rip the work of building a
> > >       mailbox command away from handle_mailbox_command_from_user()
> > >       and give it to cxl_validate_cmd_from_user().  
> >
> > This makes me wonder a bit if
> > cxl_validate_cmd_from_user() is an appropriate name given
> > it now does more than validation?  
> 
> Yeah, perhaps as a follow on, I think there's renaming possible to
> make it clear what the difference is between:
> 
> cxl_send_cmd
> cxl_mbox_send_cmd
> cxl_pci_mbox_send
> cxl_validate_cmd_from_user
> handle_mailbox_cmd_from_user
> 
> ---
> 
> cxl_send_cmd is really just a helper for the ioctl path so perhaps:
> s/cxl_query_cmd/cxl_ioctl_query/
> s/cxl_send_cmd/cxl_ioctl_send/
> 
> cxl_mbox_send_cmd() is the path that kernel-internal users take that
> don't need to do any copy from user work to pass buffers to
> cxl_pci_mbox_send() (which needs kernel buffers from
> memcpy_{to,from}io()), so perhaps:
> s/cxl_mbox_send_cmd/cxl_internal_cmd_send/
> 
> cxl_pci_mbox_send seems ok if the other function names change.
> 
> cxl_validate_cmd_from_user and handle_mailbox_cmd_from_user are really
> doing three distinct operations. Check the payload for correctness,
> check the command against the submit policy, and construct a kernel
> command buffer from the user buffer. So how about:
> 
> cxl_ioctl_send_checks() (inspired by submit_bio_checks())
> cxl_ioctl_send_to_kbuf()
> 
> ...whatever we pick I think it's ok if this is done after this
> reorganization completes with the current names.

Agreed. Keep this series clean, but then circle back to cleanup
the naming is a good approach.

Jonathan


      reply	other threads:[~2022-03-30 15:05 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-24  1:11 [PATCH v3 0/9] Do not allow set-partition immediate mode alison.schofield
2022-03-24  1:11 ` [PATCH v3 1/9] cxl/mbox: Move cxl_mem_command construction to helper funcs alison.schofield
2022-03-25 10:27   ` Jonathan Cameron
2022-03-26  0:01     ` Alison Schofield
2022-03-24  1:11 ` [PATCH v3 2/9] cxl/mbox: Move raw command warning to raw command validation alison.schofield
2022-03-25 10:32   ` Jonathan Cameron
2022-03-24  1:11 ` [PATCH v3 3/9] cxl/mbox: Move build of user mailbox cmd to a helper function alison.schofield
2022-03-25 10:43   ` Jonathan Cameron
2022-03-24  1:11 ` [PATCH v3 4/9] cxl/mbox: Construct a users cxl_mbox_cmd in the validation path alison.schofield
2022-03-25 10:54   ` Jonathan Cameron
2022-03-26  0:37     ` Alison Schofield
2022-03-24  1:11 ` [PATCH v3 5/9] cxl/mbox: Remove dependency on cxl_mem_command for a debug msg alison.schofield
2022-03-25 10:56   ` Jonathan Cameron
2022-03-26  0:26     ` Alison Schofield
2022-03-24  1:11 ` [PATCH v3 6/9] cxl/mbox: Make handle_mailbox_cmd_from_user() use a mbox param alison.schofield
2022-03-25 11:04   ` Jonathan Cameron
2022-03-26  0:25     ` Alison Schofield
2022-03-29 10:50       ` Jonathan Cameron
2022-03-24  1:11 ` [PATCH v3 7/9] cxl/mbox: Move cxl_mem_command param to a local variable alison.schofield
2022-03-25 11:10   ` Jonathan Cameron
2022-03-24  1:11 ` [PATCH v3 8/9] cxl/mbox: Block immediate mode in SET_PARTITION_INFO command alison.schofield
2022-03-25 11:18   ` Jonathan Cameron
2022-03-26  0:31     ` Alison Schofield
2022-03-24  1:11 ` [PATCH v3 9/9] cxl/pmem: Remove CXL SET_PARTITION_INFO from exclusive_cmds list alison.schofield
2022-03-25 11:19   ` Jonathan Cameron
2022-03-25 10:34 ` [PATCH v3 0/9] Do not allow set-partition immediate mode Jonathan Cameron
2022-03-30  1:24   ` Dan Williams
2022-03-30 15:05     ` Jonathan Cameron [this message]

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=20220330160522.000018ad@Huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=ben.widawsky@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=ira.weiny@intel.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=vishal.l.verma@intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox