From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: ross.zwisler@linux.intel.com, rjw@rjwysocki.net, lenb@kernel.org,
dan.j.williams@intel.com, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-nvdimm@ml01.01.org
Subject: Re: [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru.
Date: Tue, 10 Nov 2015 12:49:38 -0700 [thread overview]
Message-ID: <20151110194938.GA47666@tevye.fc.hp.com> (raw)
In-Reply-To: <x49d1vhlp34.fsf@segfault.boston.devel.redhat.com>
On Tue, Nov 10, 2015 at 12:51:59PM -0500, Jeff Moyer wrote:
> Jerry Hoemann <jerry.hoemann@hpe.com> writes:
>
> > Add IOCTL type 'P' to denote NVDIMM_TYPE_PASSTHRU.
>
> Can't you just make passthrough a separate command? If you actually add
There are multiple conflicting NVDIMM _DSM running around, they
are "device specific". So, we should plan in general and not just
for the example DSM that Intel added support for. These DSM have
over lapping and incompatible function ids.
The Intel example is an example, not standard. They are free to
change it at will. So, we can't be certain there won't be a
conflict some time in the future if we try to use their number space.
I'm trying to create a generic pass thru that any vendors can use. Putting
this in the Intel function number space doesn't make a lot of sense to me.
> the ioctl definition for passthrough (which you didn't do for some
> reason?), it looks odd:
The definition for the IOCTLs are in a user space application.
These aren't required in the kernel as the kernel is only a
pass thru.
As the DSM I'm working with isn't yet finalized, I've been told that
i can't share the user space portion yet.
>
> #define ND_IOCTL_PASSTHRU _IOWR(NVDIMM_TYPE_PASSTHRU,, ND_CMD_PASSTHRU, \
> struct ndn_package)
>
> Care to comment on why you chose a different type instead of specifying
> a new command?
>
> > +struct ndn_pkg {
> > + struct {
> > + __u8 dsm_uuid[16];
> > + __u32 dsm_in; /* size of _DSM input */
> > + __u32 dsm_out; /* size of user buffer */
> > + __u32 dsm_rev; /* revision of dsm call */
> > + __u32 res[8]; /* reserved must be zero */
> > + __u32 dsm_size; /* size _DSM would write */
> > + } h;
> > + unsigned char buf[];
>
> Please change that to:
> __u8 *buf;
> since acpi_object.buffer.pointer is a u8 *.
buf isn't being passed to acpi_evaluate_dsm. its just being used for pointer offset
in acpi_nfit_ctl_passthru. The "payload" that will be passed to acpi_evaluate_dsm
follows.
>
> Note that the size of this structure will be different for 32 vs. 64
> bit, but I don't think it matters since offsets won't change (the
> pointer is at the end of the structure).
I assume you mean size of struct changes if I use the pointer as
substitute for the zero sized array? or are you saying that the
packed attribute doesn't affect the layout of the anonymous struct?
--
-----------------------------------------------------------------------------
Jerry Hoemann Software Engineer Hewlett-Packard Enterprise
3404 E Harmony Rd. MS 36 phone: (970) 898-1022
Ft. Collins, CO 80528 FAX: (970) 898-0707
email: jerry.hoemann@hpe.com
-----------------------------------------------------------------------------
next prev parent reply other threads:[~2015-11-10 19:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-06 22:27 [PATCH 0/4] nvdimm: Add an IOCTL pass thru for DSM calls Jerry Hoemann
2015-11-06 22:27 ` [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru Jerry Hoemann
2015-11-10 17:51 ` Jeff Moyer
2015-11-10 18:05 ` Dan Williams
2015-11-10 19:49 ` Jerry Hoemann [this message]
2015-11-10 20:26 ` Jeff Moyer
2015-11-11 0:44 ` Jerry Hoemann
2015-11-11 0:49 ` Dan Williams
2015-11-11 15:47 ` Jeff Moyer
2015-11-10 20:27 ` Dan Williams
2015-11-10 20:53 ` Linda Knippers
2015-11-10 22:20 ` Dan Williams
2015-11-10 19:04 ` Elliott, Robert (Persistent Memory)
2015-11-10 21:25 ` Jerry Hoemann
2015-11-06 22:27 ` [PATCH 2/4] nvdimm: Add " Jerry Hoemann
2015-11-10 18:05 ` Jeff Moyer
2015-11-10 22:13 ` Jerry Hoemann
2015-11-11 15:41 ` Jeff Moyer
2015-11-06 22:27 ` [PATCH 3/4] " Jerry Hoemann
2015-11-10 16:24 ` Jeff Moyer
2015-11-10 21:36 ` Jerry Hoemann
2015-11-10 21:45 ` Jeff Moyer
2015-11-10 22:15 ` Jerry Hoemann
2015-11-10 21:54 ` Jeff Moyer
2015-11-11 1:42 ` Jerry Hoemann
2015-11-06 22:27 ` [PATCH 4/4] nvdimm: rename functions that aren't IOCTL passthru Jerry Hoemann
2015-11-10 15:33 ` [PATCH 0/4] nvdimm: Add an IOCTL pass thru for DSM calls Jeff Moyer
2015-11-10 21:39 ` Jerry Hoemann
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=20151110194938.GA47666@tevye.fc.hp.com \
--to=jerry.hoemann@hpe.com \
--cc=dan.j.williams@intel.com \
--cc=jmoyer@redhat.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvdimm@ml01.01.org \
--cc=rjw@rjwysocki.net \
--cc=ross.zwisler@linux.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;
as well as URLs for NNTP newsgroup(s).