linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Shrikrishna Khare <skhare@vmware.com>
To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	pv-drivers@vmware.com
Cc: Shrikrishna Khare <skhare@vmware.com>, Guolin Yang <gyang@vmware.com>
Subject: [PATCH net-next v5 6/7] vmxnet3: introduce command to register memory region
Date: Thu, 16 Jun 2016 10:51:58 -0700	[thread overview]
Message-ID: <1466099519-39322-7-git-send-email-skhare@vmware.com> (raw)
In-Reply-To: <1466099519-39322-1-git-send-email-skhare@vmware.com>

In vmxnet3 version 3, the emulation added support for the vmxnet3 driver
to communicate information about the memory regions the driver will use
for rx/tx buffers. The driver can also indicate which rx/tx queue the
memory region is applicable for. If this information is communicated
to the emulation, the emulation will always keep these memory regions
mapped, thereby avoiding the mapping/unmapping overhead for every packet.

Currently, Linux vmxnet3 driver does not leverage this capability. The
feasibility of using this approach for the Linux vmxnet3 driver will be
investigated independently and if possible, will be part of a different
patch. This patch only exposes the emulation capability to the driver
(vmxnet3_defs.h is identical between the driver and the emulation).

Signed-off-by: Guolin Yang <gyang@vmware.com>
Signed-off-by: Shrikrishna Khare <skhare@vmware.com>
---
 drivers/net/vmxnet3/vmxnet3_defs.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/net/vmxnet3/vmxnet3_defs.h b/drivers/net/vmxnet3/vmxnet3_defs.h
index 274e145..c3a3164 100644
--- a/drivers/net/vmxnet3/vmxnet3_defs.h
+++ b/drivers/net/vmxnet3/vmxnet3_defs.h
@@ -81,6 +81,7 @@ enum {
 	VMXNET3_CMD_RESERVED2,
 	VMXNET3_CMD_RESERVED3,
 	VMXNET3_CMD_SET_COALESCE,
+	VMXNET3_CMD_REGISTER_MEMREGS,
 
 	VMXNET3_CMD_FIRST_GET = 0xF00D0000,
 	VMXNET3_CMD_GET_QUEUE_STATUS = VMXNET3_CMD_FIRST_GET,
@@ -668,6 +669,22 @@ struct Vmxnet3_CoalesceScheme {
 	} coalPara;
 };
 
+struct Vmxnet3_MemoryRegion {
+	__le64					startPA;
+	__le32					length;
+	__le16					txQueueBits;
+	__le16					rxQueueBits;
+};
+
+#define MAX_MEMORY_REGION_PER_QUEUE 16
+#define MAX_MEMORY_REGION_PER_DEVICE 256
+
+struct Vmxnet3_MemRegs {
+	__le16					numRegs;
+	__le16					pad[3];
+	struct Vmxnet3_MemoryRegion		memRegs[1];
+};
+
 /* If the command data <= 16 bytes, use the shared memory directly.
  * otherwise, use variable length configuration descriptor.
  */
-- 
2.8.2

  parent reply	other threads:[~2016-06-16 17:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-16 17:51 [PATCH net-next v5 0/7] vmxnet3: upgrade to version 3 Shrikrishna Khare
2016-06-16 17:51 ` [PATCH net-next v5 1/7] vmxnet3: prepare for version 3 changes Shrikrishna Khare
2016-06-16 17:51 ` [PATCH net-next v5 2/7] vmxnet3: introduce generalized command interface to configure the device Shrikrishna Khare
2016-06-16 17:51 ` [PATCH net-next v5 3/7] vmxnet3: allow variable length transmit data ring buffer Shrikrishna Khare
2016-06-16 17:51 ` [PATCH net-next v5 4/7] vmxnet3: add receive data ring support Shrikrishna Khare
2016-06-16 17:51 ` [PATCH net-next v5 5/7] vmxnet3: add support for get_coalesce, set_coalesce ethtool operations Shrikrishna Khare
2016-06-16 17:51 ` Shrikrishna Khare [this message]
2016-06-16 17:51 ` [PATCH net-next v5 7/7] vmxnet3: update to version 3 Shrikrishna Khare
2016-06-17  5:37 ` [PATCH net-next v5 0/7] vmxnet3: upgrade " David Miller

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=1466099519-39322-7-git-send-email-skhare@vmware.com \
    --to=skhare@vmware.com \
    --cc=gyang@vmware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pv-drivers@vmware.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).