xen-netback: making the bandwidth limiter runtime settable

With the current netback, the bandwidth limiter's parameters are only
settable during vif setup time.  This patch register a watch on them, and
thus makes them runtime changeable.

When the watch fires, the timer is reset.  The timer's mutex is used for
fencing the change.

Cc: Anthony Liguori <aliguori@amazon.com>
Signed-off-by: Imre Palik <imrep@amazon.de>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Palik, Imre
2015-03-19 11:05:42 +01:00
committed by David S. Miller
parent 750f2f9165
commit edafc132ba
4 changed files with 63 additions and 3 deletions

View File

@@ -238,6 +238,8 @@ struct xenvif {
unsigned int num_queues; /* active queues, resource allocated */
unsigned int stalled_queues;
struct xenbus_watch credit_watch;
spinlock_t lock;
#ifdef CONFIG_DEBUG_FS
@@ -260,6 +262,8 @@ static inline struct xenbus_device *xenvif_to_xenbus_device(struct xenvif *vif)
return to_xenbus_device(vif->dev->dev.parent);
}
void xenvif_tx_credit_callback(unsigned long data);
struct xenvif *xenvif_alloc(struct device *parent,
domid_t domid,
unsigned int handle);