[PATCH v3 RFC 2/2] nvme: improve performance for virtual NVMe devices
J Freyensee
james_p_freyensee at linux.intel.com
Tue Aug 16 13:45:03 PDT 2016
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,
More information about the Linux-nvme
mailing list