From: Joao Martins <joao.martins@neclab.eu>
To: xen-devel@lists.xenproject.org, netdev@vger.kernel.org
Cc: wei.liu2@citrix.com, ian.campbell@citrix.com,
Joao Martins <joao.martins@neclab.eu>,
david.vrabel@citrix.com, boris.ostrovsky@oracle.com
Subject: [RFC PATCH 02/13] xen-netback: xenbus feature persistent support
Date: Tue, 12 May 2015 19:18:26 +0200 [thread overview]
Message-ID: <1431451117-70051-3-git-send-email-joao.martins@neclab.eu> (raw)
In-Reply-To: <1431451117-70051-1-git-send-email-joao.martins@neclab.eu>
Checks for "feature-persistent" that indicates persistent grants
support. Adds max_persistent_grants module param that specifies the max
number of persistent grants, which if set to zero disables persistent
grants.
Signed-off-by: Joao Martins <joao.martins@neclab.eu>
---
drivers/net/xen-netback/common.h | 1 +
drivers/net/xen-netback/netback.c | 5 +++++
drivers/net/xen-netback/xenbus.c | 13 +++++++++++++
3 files changed, 19 insertions(+)
diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
index dd02386..e70ace7 100644
--- a/drivers/net/xen-netback/common.h
+++ b/drivers/net/xen-netback/common.h
@@ -378,6 +378,7 @@ extern bool separate_tx_rx_irq;
extern unsigned int rx_drain_timeout_msecs;
extern unsigned int rx_stall_timeout_msecs;
extern unsigned int xenvif_max_queues;
+extern unsigned int xenvif_max_pgrants;
#ifdef CONFIG_DEBUG_FS
extern struct dentry *xen_netback_dbg_root;
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 8df0a73..332e489 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -72,6 +72,11 @@ module_param_named(max_queues, xenvif_max_queues, uint, 0644);
MODULE_PARM_DESC(max_queues,
"Maximum number of queues per virtual interface");
+unsigned int xenvif_max_pgrants = XEN_NETIF_RX_RING_SIZE;
+module_param_named(max_persistent_grants, xenvif_max_pgrants, int, 0644);
+MODULE_PARM_DESC(max_persistent_grants,
+ "Maximum number of grants to map persistently");
+
/*
* This is the maximum slots a skb can have. If a guest sends a skb
* which exceeds this limit it is considered malicious.
diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
index 3d8dbf5..766f7e5 100644
--- a/drivers/net/xen-netback/xenbus.c
+++ b/drivers/net/xen-netback/xenbus.c
@@ -331,6 +331,14 @@ static int netback_probe(struct xenbus_device *dev,
goto fail;
}
+ /* Persistent grants support. This is an optional feature. */
+ err = xenbus_printf(XBT_NIL, dev->nodename,
+ "feature-persistent", "%d", xenvif_max_pgrants > 0);
+ if (err) {
+ message = "writing feature-persistent";
+ goto abort_transaction;
+ }
+
/*
* Split event channels support, this is optional so it is not
* put inside the above loop.
@@ -961,6 +969,11 @@ static int read_xenbus_vif_flags(struct backend_info *be)
val = 0;
vif->can_sg = !!val;
+ if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-persistent",
+ "%d", &val) < 0)
+ val = 0;
+ vif->persistent_grants = (xenvif_max_pgrants && !!val);
+
vif->gso_mask = 0;
vif->gso_prefix_mask = 0;
--
2.1.3
next prev parent reply other threads:[~2015-05-12 17:20 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-12 17:18 [RFC PATCH 00/13] Persistent grant maps for xen net drivers Joao Martins
2015-05-12 17:18 ` [RFC PATCH 01/13] xen-netback: add persistent grant tree ops Joao Martins
2015-05-12 17:18 ` Joao Martins [this message]
2015-05-19 15:19 ` [RFC PATCH 02/13] xen-netback: xenbus feature persistent support Wei Liu
[not found] ` <20150519151929.GA26335@zion.uk.xensource.com>
2015-05-22 10:24 ` Joao Martins
2015-05-12 17:18 ` [RFC PATCH 03/13] xen-netback: implement TX persistent grants Joao Martins
2015-05-19 15:23 ` Wei Liu
[not found] ` <20150519152342.GB26335@zion.uk.xensource.com>
2015-05-22 10:24 ` Joao Martins
[not found] ` <30CF0FF9-3B1D-48AF-AFB4-73E20C404357@neclab.eu>
2015-06-02 14:53 ` Wei Liu
[not found] ` <20150602145359.GP19403@zion.uk.xensource.com>
2015-06-03 17:07 ` Joao Martins
[not found] ` <B1B43019-3C94-4FBA-9139-7683FEC2901E@neclab.eu>
2015-06-07 12:04 ` Wei Liu
2015-05-12 17:18 ` [RFC PATCH 04/13] xen-netback: implement RX " Joao Martins
2015-05-19 15:32 ` Wei Liu
[not found] ` <20150519153205.GC26335@zion.uk.xensource.com>
2015-05-22 10:25 ` Joao Martins
[not found] ` <65A385A5-4D11-4032-BB1B-82180AF76477@neclab.eu>
2015-06-02 15:07 ` Wei Liu
[not found] ` <20150602150704.GQ19403@zion.uk.xensource.com>
2015-06-03 17:08 ` Joao Martins
2015-05-12 17:18 ` [RFC PATCH 05/13] xen-netback: refactor xenvif_rx_action Joao Martins
2015-05-19 15:32 ` Wei Liu
2015-05-12 17:18 ` [RFC PATCH 06/13] xen-netback: copy buffer on xenvif_start_xmit() Joao Martins
2015-05-19 15:35 ` Wei Liu
[not found] ` <20150519153558.GE26335@zion.uk.xensource.com>
2015-05-22 10:26 ` Joao Martins
[not found] ` <915BCC85-25D1-4960-A1BA-0C6459ABC953@neclab.eu>
2015-06-02 15:10 ` Wei Liu
2015-05-12 17:18 ` [RFC PATCH 07/13] xen-netback: add persistent tree counters to debugfs Joao Martins
2015-05-19 15:36 ` Wei Liu
2015-05-12 17:18 ` [RFC PATCH 08/13] xen-netback: clone skb if skb->xmit_more is set Joao Martins
2015-05-19 15:36 ` Wei Liu
[not found] ` <20150519153613.GG26335@zion.uk.xensource.com>
2015-05-22 17:14 ` Joao Martins
2015-05-12 17:18 ` [RFC PATCH 09/13] xen-netfront: move grant_{ref, page} to struct grant Joao Martins
2015-05-18 15:44 ` David Vrabel
[not found] ` <555A08F4.1030202@citrix.com>
2015-05-19 10:19 ` Joao Martins
2015-05-12 17:18 ` [RFC PATCH 10/13] xen-netfront: refactor claim/release grant Joao Martins
2015-05-18 15:48 ` David Vrabel
[not found] ` <555A09D1.50902@citrix.com>
2015-05-19 10:19 ` Joao Martins
2015-05-12 17:18 ` [RFC PATCH 11/13] xen-netfront: feature-persistent xenbus support Joao Martins
2015-05-18 15:51 ` David Vrabel
[not found] ` <555A0A95.20409@citrix.com>
2015-05-19 10:19 ` Joao Martins
2015-05-12 17:18 ` [RFC PATCH 12/13] xen-netfront: implement TX persistent grants Joao Martins
2015-05-18 15:55 ` David Vrabel
[not found] ` <555A0B5D.3090505@citrix.com>
2015-05-19 10:20 ` Joao Martins
[not found] ` <77896F5F-DC2C-4F2A-9BB3-CE5F404DCECC@neclab.eu>
2015-05-19 10:23 ` David Vrabel
2015-05-12 17:18 ` [RFC PATCH 13/13] xen-netfront: implement RX " Joao Martins
2015-05-18 16:04 ` David Vrabel
[not found] ` <555A0D8C.4020309@citrix.com>
2015-05-19 10:22 ` Joao Martins
2015-05-13 10:50 ` [RFC PATCH 00/13] Persistent grant maps for xen net drivers David Vrabel
[not found] ` <55532C86.8020409@citrix.com>
2015-05-13 13:01 ` Joao Martins
2015-05-19 15:39 ` Wei Liu
[not found] ` <20150519153901.GH26335@zion.uk.xensource.com>
2015-05-22 10:27 ` Joao Martins
[not found] ` <191EF54A-D8DE-4BAA-B15D-41B2BA35353F@neclab.eu>
2015-05-29 6:53 ` Yuzhou (C)
[not found] ` <47498F109986134D9A5B42B82F405EBBA3244CB6@SZXEMA502-MBX.china.huawei.com>
2015-05-29 14:51 ` Joao Martins
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=1431451117-70051-3-git-send-email-joao.martins@neclab.eu \
--to=joao.martins@neclab.eu \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=netdev@vger.kernel.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/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).