search for: napi_weight

Displaying 20 results from an estimated 182 matches for "napi_weight".

2023 Jul 27
2
[PATCH net-next V4 2/3] virtio_net: support per queue interrupt coalesce command
...th the new one. [...] > static int virtnet_set_coalesce(struct net_device *dev, > struct ethtool_coalesce *ec, > struct kernel_ethtool_coalesce *kernel_coal, > struct netlink_ext_ack *extack) > { > struct virtnet_info *vi = netdev_priv(dev); > - int ret, i, napi_weight; > + int ret, queue_number, napi_weight; > bool update_napi = false; > > /* Can't change NAPI weight if the link is up */ > napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; > - if (napi_weight ^ vi->sq[0].napi.weight) { > - if (dev->flags...
2023 Jul 28
1
[PATCH net-next V4 2/3] virtio_net: support per queue interrupt coalesce command
...static int virtnet_set_coalesce(struct net_device *dev, > > struct ethtool_coalesce *ec, > > struct kernel_ethtool_coalesce *kernel_coal, > > struct netlink_ext_ack *extack) > > { > > struct virtnet_info *vi = netdev_priv(dev); > > - int ret, i, napi_weight; > > + int ret, queue_number, napi_weight; > > bool update_napi = false; > > > > /* Can't change NAPI weight if the link is up */ > > napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; > > - if (napi_weight ^ vi->sq[0].napi.weight...
2018 Sep 13
5
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...s(struct net_device *dev, return 0; } +static int virtnet_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct ethtool_coalesce ec_default = { + .cmd = ETHTOOL_SCOALESCE, + .rx_max_coalesced_frames = 1, + }; + struct virtnet_info *vi = netdev_priv(dev); + int i, napi_weight; + + if (ec->tx_max_coalesced_frames > 1) + return -EINVAL; + + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; + + /* disallow changes to fields not explicitly tested above */ + if (memcmp(ec, &e...
2018 Sep 13
5
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...s(struct net_device *dev, return 0; } +static int virtnet_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct ethtool_coalesce ec_default = { + .cmd = ETHTOOL_SCOALESCE, + .rx_max_coalesced_frames = 1, + }; + struct virtnet_info *vi = netdev_priv(dev); + int i, napi_weight; + + if (ec->tx_max_coalesced_frames > 1) + return -EINVAL; + + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; + + /* disallow changes to fields not explicitly tested above */ + if (memcmp(ec, &e...
2012 Dec 26
5
[RFC PATCH] virtio-net: reset virtqueue affinity when doing cpu hotplug
...et/virtio_net.c b/drivers/net/virtio_net.c index a6fcf15..9710cf4 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -26,6 +26,7 @@ #include <linux/scatterlist.h> #include <linux/if_vlan.h> #include <linux/slab.h> +#include <linux/cpu.h> static int napi_weight = 128; module_param(napi_weight, int, 0444); @@ -34,6 +35,8 @@ static bool csum = true, gso = true; module_param(csum, bool, 0444); module_param(gso, bool, 0444); +static bool cpu_hotplug = false; + /* FIXME: MTU in config. */ #define MAX_PACKET_LEN (ETH_HLEN + VLAN_HLEN + ETH_DATA_LEN) #de...
2012 Dec 26
5
[RFC PATCH] virtio-net: reset virtqueue affinity when doing cpu hotplug
...et/virtio_net.c b/drivers/net/virtio_net.c index a6fcf15..9710cf4 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -26,6 +26,7 @@ #include <linux/scatterlist.h> #include <linux/if_vlan.h> #include <linux/slab.h> +#include <linux/cpu.h> static int napi_weight = 128; module_param(napi_weight, int, 0444); @@ -34,6 +35,8 @@ static bool csum = true, gso = true; module_param(csum, bool, 0444); module_param(gso, bool, 0444); +static bool cpu_hotplug = false; + /* FIXME: MTU in config. */ #define MAX_PACKET_LEN (ETH_HLEN + VLAN_HLEN + ETH_DATA_LEN) #de...
2017 Apr 02
1
[PATCH net-next 2/3] virtio-net: transmit napi
...++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 10 deletions(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 6aac0ad0d9b2..95d938e82080 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -33,9 +33,10 @@ static int napi_weight = NAPI_POLL_WEIGHT; module_param(napi_weight, int, 0444); -static bool csum = true, gso = true; +static bool csum = true, gso = true, napi_tx = true; module_param(csum, bool, 0444); module_param(gso, bool, 0444); +module_param(napi_tx, bool, 0644); /* FIXME: MTU in config. */ #define GOOD_...
2018 Sep 13
0
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...struct ethtool_coalesce *ec) > +{ > + struct ethtool_coalesce ec_default = { > + .cmd = ETHTOOL_SCOALESCE, > + .rx_max_coalesced_frames = 1, > + }; > + struct virtnet_info *vi = netdev_priv(dev); > + int i, napi_weight; > + > + if (ec->tx_max_coalesced_frames > 1) > + return -EINVAL; > + > + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; > + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; > + > + /* disa...
2014 Jul 17
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...io_net.c >>> +++ b/drivers/net/virtio_net.c >>> @@ -27,6 +27,7 @@ >>> #include <linux/slab.h> >>> #include <linux/cpu.h> >>> #include <linux/average.h> >>> +#include <net/busy_poll.h> >>> static int napi_weight = NAPI_POLL_WEIGHT; >>> module_param(napi_weight, int, 0444); >>> @@ -94,8 +95,143 @@ struct receive_queue { >>> /* Name of this receive queue: input.$index */ >>> char name[40]; >>> + >>> +#ifdef CONFIG_NET_RX_BUSY_POLL >&...
2014 Jul 17
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...io_net.c >>> +++ b/drivers/net/virtio_net.c >>> @@ -27,6 +27,7 @@ >>> #include <linux/slab.h> >>> #include <linux/cpu.h> >>> #include <linux/average.h> >>> +#include <net/busy_poll.h> >>> static int napi_weight = NAPI_POLL_WEIGHT; >>> module_param(napi_weight, int, 0444); >>> @@ -94,8 +95,143 @@ struct receive_queue { >>> /* Name of this receive queue: input.$index */ >>> char name[40]; >>> + >>> +#ifdef CONFIG_NET_RX_BUSY_POLL >&...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...ex e417d93..4830713 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -27,6 +27,7 @@ > #include <linux/slab.h> > #include <linux/cpu.h> > #include <linux/average.h> > +#include <net/busy_poll.h> > > static int napi_weight = NAPI_POLL_WEIGHT; > module_param(napi_weight, int, 0444); > @@ -94,8 +95,143 @@ struct receive_queue { > > /* Name of this receive queue: input.$index */ > char name[40]; > + > +#ifdef CONFIG_NET_RX_BUSY_POLL > + unsigned int state; > +#define VIRTNET_RQ_STAT...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...ex e417d93..4830713 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -27,6 +27,7 @@ > #include <linux/slab.h> > #include <linux/cpu.h> > #include <linux/average.h> > +#include <net/busy_poll.h> > > static int napi_weight = NAPI_POLL_WEIGHT; > module_param(napi_weight, int, 0444); > @@ -94,8 +95,143 @@ struct receive_queue { > > /* Name of this receive queue: input.$index */ > char name[40]; > + > +#ifdef CONFIG_NET_RX_BUSY_POLL > + unsigned int state; > +#define VIRTNET_RQ_STAT...
2014 Dec 01
1
[PATCH RFC v4 net-next 1/5] virtio_net: enable tx interrupt
...delayed(sq->vq))) { > + virtqueue_disable_cb(sq->vq); > + napi_schedule(&sq->napi); > + } > + } > + __netif_tx_unlock(txq); > + return sent < limit ? 0 : budget; > +} > + Unlike the patch I sent, this seems to ignore the budget, and always poll the full napi_weight. Seems strange. What is the reason for this? > #ifdef CONFIG_NET_RX_BUSY_POLL > /* must be called with local_bh_disable()d */ > static int virtnet_busy_poll(struct napi_struct *napi) > @@ -825,30 +882,12 @@ static int virtnet_open(struct net_device *dev) > if (!try_fill_re...
2014 Dec 01
1
[PATCH RFC v4 net-next 1/5] virtio_net: enable tx interrupt
...delayed(sq->vq))) { > + virtqueue_disable_cb(sq->vq); > + napi_schedule(&sq->napi); > + } > + } > + __netif_tx_unlock(txq); > + return sent < limit ? 0 : budget; > +} > + Unlike the patch I sent, this seems to ignore the budget, and always poll the full napi_weight. Seems strange. What is the reason for this? > #ifdef CONFIG_NET_RX_BUSY_POLL > /* must be called with local_bh_disable()d */ > static int virtnet_busy_poll(struct napi_struct *napi) > @@ -825,30 +882,12 @@ static int virtnet_open(struct net_device *dev) > if (!try_fill_re...
2019 Jul 18
2
[PATCH] virtio-net: parameterize min ring num_free for virtio receive
...il.com> --- drivers/net/virtio_net.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 0d4115c9e20b..bc190dec6084 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -26,6 +26,9 @@ static int napi_weight = NAPI_POLL_WEIGHT; module_param(napi_weight, int, 0444); +static int min_numfree; +module_param(min_numfree, int, 0444); + static bool csum = true, gso = true, napi_tx; module_param(csum, bool, 0444); module_param(gso, bool, 0444); @@ -1315,6 +1318,9 @@ static int virtnet_receive(struct rece...
2019 Jul 18
2
[PATCH] virtio-net: parameterize min ring num_free for virtio receive
...il.com> --- drivers/net/virtio_net.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 0d4115c9e20b..bc190dec6084 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -26,6 +26,9 @@ static int napi_weight = NAPI_POLL_WEIGHT; module_param(napi_weight, int, 0444); +static int min_numfree; +module_param(min_numfree, int, 0444); + static bool csum = true, gso = true, napi_tx; module_param(csum, bool, 0444); module_param(gso, bool, 0444); @@ -1315,6 +1318,9 @@ static int virtnet_receive(struct rece...
2018 Oct 09
2
[PATCH net-next V3] virtio_net: ethtool tx napi configuration
...s(struct net_device *dev, return 0; } +static int virtnet_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct ethtool_coalesce ec_default = { + .cmd = ETHTOOL_SCOALESCE, + .rx_max_coalesced_frames = 1, + }; + struct virtnet_info *vi = netdev_priv(dev); + int i, napi_weight; + bool running = netif_running(dev); + + if (ec->tx_max_coalesced_frames > 1) + return -EINVAL; + + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; + + /* disallow changes to fields not explicitly te...
2018 Oct 09
2
[PATCH net-next V3] virtio_net: ethtool tx napi configuration
...s(struct net_device *dev, return 0; } +static int virtnet_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct ethtool_coalesce ec_default = { + .cmd = ETHTOOL_SCOALESCE, + .rx_max_coalesced_frames = 1, + }; + struct virtnet_info *vi = netdev_priv(dev); + int i, napi_weight; + bool running = netif_running(dev); + + if (ec->tx_max_coalesced_frames > 1) + return -EINVAL; + + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; + + /* disallow changes to fields not explicitly te...
2016 Aug 02
0
[PATCH 0753/1285] Replace numeric parameter like 0444 with macro
.../virtio_net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index e0638e5..39815e4 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -30,11 +30,11 @@ #include <net/busy_poll.h> static int napi_weight = NAPI_POLL_WEIGHT; -module_param(napi_weight, int, 0444); +module_param(napi_weight, int, S_IRUSR | S_IRGRP | S_IROTH); static bool csum = true, gso = true; -module_param(csum, bool, 0444); -module_param(gso, bool, 0444); +module_param(csum, bool, S_IRUSR | S_IRGRP | S_IROTH); +module_param(gso...
2016 Aug 02
0
[PATCH 0753/1285] Replace numeric parameter like 0444 with macro
.../virtio_net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index e0638e5..39815e4 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -30,11 +30,11 @@ #include <net/busy_poll.h> static int napi_weight = NAPI_POLL_WEIGHT; -module_param(napi_weight, int, 0444); +module_param(napi_weight, int, S_IRUSR | S_IRGRP | S_IROTH); static bool csum = true, gso = true; -module_param(csum, bool, 0444); -module_param(gso, bool, 0444); +module_param(csum, bool, S_IRUSR | S_IRGRP | S_IROTH); +module_param(gso...