Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH v3 RFC 2/2] nvme: improve performance for virtual NVMe devices | From | J Freyensee <> | Date | Tue, 16 Aug 2016 13:45:03 -0700 |
| |
On Mon, 2016-08-15 at 22:41 -0300, Helen Koike wrote:
> > +struct nvme_doorbell_memory { > + __u8 opcode; > + __u8 flags; > + __u16 command_id; > + __u32 rsvd1[5]; > + __le64 prp1; > + __le64 prp2; > + __u32 rsvd12[6]; > +}; > + > struct nvme_command { > union { > struct nvme_common_command common; > @@ -845,6 +858,7 @@ struct nvme_command { > struct nvmf_connect_command connect; > struct nvmf_property_set_command prop_set; > struct nvmf_property_get_command prop_get; > + struct nvme_doorbell_memory doorbell_memory; > }; > };
This looks like a new NVMe command being introduced, not found in the latest NVMe specs (NVMe 1.2.1 spec or NVMe-over-Fabrics 1.0 spec)?
This is a big NACK, the command needs to be part of the NVMe standard before adding it to the NVMe code base (this is exactly how NVMe-over- Fabrics standard got implemented). I would bring your proposal to nvmexpress.org.
Jay
> > @@ -934,6 +948,9 @@ enum { > /* > * Media and Data Integrity Errors: > */ > +#ifdef CONFIG_NVME_VDB > + NVME_SC_DOORBELL_MEMORY_INVALID = 0x1C0, > +#endif > NVME_SC_WRITE_FAULT = 0x280, > NVME_SC_READ_ERROR = 0x281, > NVME_SC_GUARD_CHECK = 0x282,
| ![\](/images/icornerr.gif) |