search for: virtnet_set_coalesce

Displaying 20 results from an estimated 21 matches for "virtnet_set_coalesce".

2018 Sep 13
5
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...could be set + * to zero by ethtool after skb_xmit_done(). + */ + if (sq->vq->num_free >= 2 + MAX_SKB_FRAGS || !sq->napi.weight) netif_tx_wake_queue(txq); return 0; @@ -2181,6 +2186,61 @@ static int virtnet_get_link_ksettings(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 -EINV...
2018 Sep 13
5
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...could be set + * to zero by ethtool after skb_xmit_done(). + */ + if (sq->vq->num_free >= 2 + MAX_SKB_FRAGS || !sq->napi.weight) netif_tx_wake_queue(txq); return 0; @@ -2181,6 +2186,61 @@ static int virtnet_get_link_ksettings(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 -EINV...
2015 Feb 10
4
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...32 rx_max_coalesced_frames; > + __u32 tx_coalesce_usecs; > + __u32 tx_max_coalesced_frames; > }; > > struct padded_vnet_hdr { > @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct net_device *dev, > channels->other_count = 0; > } > > +static int virtnet_set_coalesce(struct net_device *dev, > + struct ethtool_coalesce *ec) > +{ > + struct virtnet_info *vi = netdev_priv(dev); > + struct scatterlist sg; > + struct virtio_net_ctrl_coalesce c; > + > + if (!vi->has_cvq || > + !virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_COALES...
2015 Feb 10
4
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...32 rx_max_coalesced_frames; > + __u32 tx_coalesce_usecs; > + __u32 tx_max_coalesced_frames; > }; > > struct padded_vnet_hdr { > @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct net_device *dev, > channels->other_count = 0; > } > > +static int virtnet_set_coalesce(struct net_device *dev, > + struct ethtool_coalesce *ec) > +{ > + struct virtnet_info *vi = netdev_priv(dev); > + struct scatterlist sg; > + struct virtio_net_ctrl_coalesce c; > + > + if (!vi->has_cvq || > + !virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_COALES...
2023 Jul 27
2
[PATCH net-next V4 2/3] virtio_net: support per queue interrupt coalesce command
...a.com> > Reviewed-by: Jiri Pirko <jiri at nvidia.com> > Acked-by: Michael S. Tsirkin <mst at redhat.com> FTR, this patch is significantly different from the version previously acked/reviewed, I'm unsure if all the reviewers are ok with 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; >...
2015 Feb 09
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...tx_work_limit; + + __u32 rx_coalesce_usecs; + __u32 rx_max_coalesced_frames; + __u32 tx_coalesce_usecs; + __u32 tx_max_coalesced_frames; }; struct padded_vnet_hdr { @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct net_device *dev, channels->other_count = 0; } +static int virtnet_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct virtnet_info *vi = netdev_priv(dev); + struct scatterlist sg; + struct virtio_net_ctrl_coalesce c; + + if (!vi->has_cvq || + !virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_COALESCE)) + return -EOPNOTSUPP; + if (vi-&gt...
2015 Feb 09
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...tx_work_limit; + + __u32 rx_coalesce_usecs; + __u32 rx_max_coalesced_frames; + __u32 tx_coalesce_usecs; + __u32 tx_max_coalesced_frames; }; struct padded_vnet_hdr { @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct net_device *dev, channels->other_count = 0; } +static int virtnet_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct virtnet_info *vi = netdev_priv(dev); + struct scatterlist sg; + struct virtio_net_ctrl_coalesce c; + + if (!vi->has_cvq || + !virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_COALESCE)) + return -EOPNOTSUPP; + if (vi-&gt...
2018 Sep 13
0
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...napi was not scheduled, and thus the tx interrupt was not suppressed and thus there was no tx completion work to be scheduled? > > return 0; > @@ -2181,6 +2186,61 @@ static int virtnet_get_link_ksettings(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 *v...
2023 Jul 28
1
[PATCH net-next V4 2/3] virtio_net: support per queue interrupt coalesce command
...TR, this patch is significantly different from the version previously > acked/reviewed, I'm unsure if all the reviewers are ok with the new > one. > > [...] still ok by me Acked-by: Michael S. Tsirkin <mst at redhat.com> let's wait for Jason too. > > 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 re...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...oalesce_usecs; > > + __u32 tx_max_coalesced_frames; > > }; > > > > struct padded_vnet_hdr { > > @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct net_device *dev, > > channels->other_count = 0; > > } > > > > +static int virtnet_set_coalesce(struct net_device *dev, > > + struct ethtool_coalesce *ec) > > +{ > > + struct virtnet_info *vi = netdev_priv(dev); > > + struct scatterlist sg; > > + struct virtio_net_ctrl_coalesce c; > > + > > + if (!vi->has_cvq || > > + !virtio_has_featu...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...oalesce_usecs; > > + __u32 tx_max_coalesced_frames; > > }; > > > > struct padded_vnet_hdr { > > @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct net_device *dev, > > channels->other_count = 0; > > } > > > > +static int virtnet_set_coalesce(struct net_device *dev, > > + struct ethtool_coalesce *ec) > > +{ > > + struct virtnet_info *vi = netdev_priv(dev); > > + struct scatterlist sg; > > + struct virtio_net_ctrl_coalesce c; > > + > > + if (!vi->has_cvq || > > + !virtio_has_featu...
2018 Oct 09
2
[PATCH net-next V3] virtio_net: ethtool tx napi configuration
...50 insertions(+) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 765920905226..751f385f4e0a 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -2181,6 +2181,54 @@ static int virtnet_get_link_ksettings(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_coa...
2018 Oct 09
2
[PATCH net-next V3] virtio_net: ethtool tx napi configuration
...50 insertions(+) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 765920905226..751f385f4e0a 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -2181,6 +2181,54 @@ static int virtnet_get_link_ksettings(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_coa...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...ecs; >> + __u32 tx_max_coalesced_frames; >> }; >> >> struct padded_vnet_hdr { >> @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct >> net_device *dev, >> channels->other_count = 0; >> } >> >> +static int virtnet_set_coalesce(struct net_device *dev, >> + struct ethtool_coalesce *ec) >> +{ >> + struct virtnet_info *vi = netdev_priv(dev); >> + struct scatterlist sg; >> + struct virtio_net_ctrl_coalesce c; >> + >> + if (!vi->has_cvq || >> + !virtio_has_featu...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...ecs; >> + __u32 tx_max_coalesced_frames; >> }; >> >> struct padded_vnet_hdr { >> @@ -1404,12 +1409,73 @@ static void virtnet_get_channels(struct >> net_device *dev, >> channels->other_count = 0; >> } >> >> +static int virtnet_set_coalesce(struct net_device *dev, >> + struct ethtool_coalesce *ec) >> +{ >> + struct virtnet_info *vi = netdev_priv(dev); >> + struct scatterlist sg; >> + struct virtio_net_ctrl_coalesce c; >> + >> + if (!vi->has_cvq || >> + !virtio_has_featu...
2015 Feb 09
10
[PATCH RFC v5 net-next 0/6] enable tx interrupts for virtio-net
Hi: This is a new version of trying to enable tx interrupts for virtio-net. We used to try to avoid tx interrupts and orphan packets before transmission for virtio-net. This breaks socket accounting and can lead serveral other side effects e.g: - Several other functions which depends on socket accounting can not work correctly (e.g TCP Small Queue) - No tx completion which make BQL or
2015 Feb 09
10
[PATCH RFC v5 net-next 0/6] enable tx interrupts for virtio-net
Hi: This is a new version of trying to enable tx interrupts for virtio-net. We used to try to avoid tx interrupts and orphan packets before transmission for virtio-net. This breaks socket accounting and can lead serveral other side effects e.g: - Several other functions which depends on socket accounting can not work correctly (e.g TCP Small Queue) - No tx completion which make BQL or
2015 May 25
8
[RFC V7 PATCH 0/7] enable tx interrupts for virtio-net
Hi: This is a new version of trying to enable tx interrupts for virtio-net. We used to try to avoid tx interrupts and orphan packets before transmission for virtio-net. This breaks socket accounting and can lead serveral other side effects e.g: - Several other functions which depends on socket accounting can not work correctly (e.g TCP Small Queue) - No tx completion which make BQL or packet
2015 May 25
8
[RFC V7 PATCH 0/7] enable tx interrupts for virtio-net
Hi: This is a new version of trying to enable tx interrupts for virtio-net. We used to try to avoid tx interrupts and orphan packets before transmission for virtio-net. This breaks socket accounting and can lead serveral other side effects e.g: - Several other functions which depends on socket accounting can not work correctly (e.g TCP Small Queue) - No tx completion which make BQL or packet
2014 Dec 01
9
[PATCH RFC v4 net-next 0/5] virtio_net: enabling tx interrupts
Hello: We used to orphan packets before transmission for virtio-net. This breaks socket accounting and can lead serveral functions won't work, e.g: - Byte Queue Limit depends on tx completion nofication to work. - Packet Generator depends on tx completion nofication for the last transmitted packet to complete. - TCP Small Queue depends on proper accounting of sk_wmem_alloc to work. This