From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753428AbcHPUpu (ORCPT ); Tue, 16 Aug 2016 16:45:50 -0400 Received: from mga03.intel.com ([134.134.136.65]:26624 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752316AbcHPUpr (ORCPT ); Tue, 16 Aug 2016 16:45:47 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,529,1464678000"; d="scan'208";a="1042320597" Message-ID: <1471380303.21107.38.camel@linux.intel.com> Subject: Re: [PATCH v3 RFC 2/2] nvme: improve performance for virtual NVMe devices From: J Freyensee To: Helen Koike , hch@infradead.org, mlin@kernel.org, fes@google.com, keith.busch@intel.com, rlnelson@google.com, axboe@fb.com, digitaleric@google.com, tytso@mit.edu, mikew@google.com, monish@google.com Cc: open list , "open list:NVM EXPRESS DRIVER" , "Huffman, Amber" , "Minturn, Dave B" Date: Tue, 16 Aug 2016 13:45:03 -0700 In-Reply-To: References: <1460657059-21214-1-git-send-email-helen.koike@collabora.co.uk> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.4 (3.20.4-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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,