search for: rx_max_coalesced_fram

Displaying 20 results from an estimated 33 matches for "rx_max_coalesced_fram".

2015 Feb 10
4
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
.../virtio_net.c > index cc5f5de..2b958fb 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -145,6 +145,11 @@ struct virtnet_info { > > /* Budget for polling tx completion */ > u32 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(str...
2015 Feb 10
4
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
.../virtio_net.c > index cc5f5de..2b958fb 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -145,6 +145,11 @@ struct virtnet_info { > > /* Budget for polling tx completion */ > u32 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(str...
2015 Feb 09
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...iff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index cc5f5de..2b958fb 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -145,6 +145,11 @@ struct virtnet_info { /* Budget for polling tx completion */ u32 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...
2015 Feb 09
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...iff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index cc5f5de..2b958fb 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -145,6 +145,11 @@ struct virtnet_info { /* Budget for polling tx completion */ u32 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...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...644 > > --- a/drivers/net/virtio_net.c > > +++ b/drivers/net/virtio_net.c > > @@ -145,6 +145,11 @@ struct virtnet_info { > > > > /* Budget for polling tx completion */ > > u32 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; > > } > &gt...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...644 > > --- a/drivers/net/virtio_net.c > > +++ b/drivers/net/virtio_net.c > > @@ -145,6 +145,11 @@ struct virtnet_info { > > > > /* Budget for polling tx completion */ > > u32 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; > > } > &gt...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...644 >> --- a/drivers/net/virtio_net.c >> +++ b/drivers/net/virtio_net.c >> @@ -145,6 +145,11 @@ struct virtnet_info { >> >> /* Budget for polling tx completion */ >> u32 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; >>...
2015 Feb 10
0
[PATCH RFC v5 net-next 4/6] virtio-net: add basic interrupt coalescing support
...644 >> --- a/drivers/net/virtio_net.c >> +++ b/drivers/net/virtio_net.c >> @@ -145,6 +145,11 @@ struct virtnet_info { >> >> /* Budget for polling tx completion */ >> u32 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; >>...
2017 Jan 06
2
[PATCH V4 net-next 3/3] tun: rx batching
...> @@ -2439,6 +2478,29 @@ static void tun_set_msglevel(struct net_device *dev, u32 value) > #endif > } > > +static int tun_get_coalesce(struct net_device *dev, > + struct ethtool_coalesce *ec) > +{ > + struct tun_struct *tun = netdev_priv(dev); > + > + ec->rx_max_coalesced_frames = tun->rx_batched; > + > + return 0; > +} > + > +static int tun_set_coalesce(struct net_device *dev, > + struct ethtool_coalesce *ec) > +{ > + struct tun_struct *tun = netdev_priv(dev); > + > + if (ec->rx_max_coalesced_frames > NAPI_POLL_WEIGHT) > +...
2017 Jan 06
2
[PATCH V4 net-next 3/3] tun: rx batching
...> @@ -2439,6 +2478,29 @@ static void tun_set_msglevel(struct net_device *dev, u32 value) > #endif > } > > +static int tun_get_coalesce(struct net_device *dev, > + struct ethtool_coalesce *ec) > +{ > + struct tun_struct *tun = netdev_priv(dev); > + > + ec->rx_max_coalesced_frames = tun->rx_batched; > + > + return 0; > +} > + > +static int tun_set_coalesce(struct net_device *dev, > + struct ethtool_coalesce *ec) > +{ > + struct tun_struct *tun = netdev_priv(dev); > + > + if (ec->rx_max_coalesced_frames > NAPI_POLL_WEIGHT) > +...
2017 Jan 09
1
[PATCH V4 net-next 3/3] tun: rx batching
...> > On 2017?01?07? 03:47, Michael S. Tsirkin wrote: > > > +static int tun_get_coalesce(struct net_device *dev, > > > + struct ethtool_coalesce *ec) > > > +{ > > > + struct tun_struct *tun = netdev_priv(dev); > > > + > > > + ec->rx_max_coalesced_frames = tun->rx_batched; > > > + > > > + return 0; > > > +} > > > + > > > +static int tun_set_coalesce(struct net_device *dev, > > > + struct ethtool_coalesce *ec) > > > +{ > > > + struct tun_struct *tun = netdev_priv(dev)...
2017 Jan 09
1
[PATCH V4 net-next 3/3] tun: rx batching
...> > On 2017?01?07? 03:47, Michael S. Tsirkin wrote: > > > +static int tun_get_coalesce(struct net_device *dev, > > > + struct ethtool_coalesce *ec) > > > +{ > > > + struct tun_struct *tun = netdev_priv(dev); > > > + > > > + ec->rx_max_coalesced_frames = tun->rx_batched; > > > + > > > + return 0; > > > +} > > > + > > > +static int tun_set_coalesce(struct net_device *dev, > > > + struct ethtool_coalesce *ec) > > > +{ > > > + struct tun_struct *tun = netdev_priv(dev)...
2018 Sep 13
5
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...ake_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 -EINVAL; + + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; + + /* di...
2018 Sep 13
5
[PATCH net-next V2] virtio_net: ethtool tx napi configuration
...ake_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 -EINVAL; + + ec_default.tx_max_coalesced_frames = ec->tx_max_coalesced_frames; + napi_weight = ec->tx_max_coalesced_frames ? NAPI_POLL_WEIGHT : 0; + + /* di...
2023 Mar 05
1
[PATCH net] virtio-net: unify notifications coalescing structs
..., @@ -2899,9 +2898,9 @@ static int virtnet_send_notf_coal_cmds(struct virtnet_info *vi, vi->tx_usecs = ec->tx_coalesce_usecs; vi->tx_max_packets = ec->tx_max_coalesced_frames; - coal_rx.rx_usecs = cpu_to_le32(ec->rx_coalesce_usecs); - coal_rx.rx_max_packets = cpu_to_le32(ec->rx_max_coalesced_frames); - sg_init_one(&sgs_rx, &coal_rx, sizeof(coal_rx)); + coal_params.max_usecs = cpu_to_le32(ec->rx_coalesce_usecs); + coal_params.max_packets = cpu_to_le32(ec->rx_max_coalesced_frames); + sg_init_one(&sgs_rx, &coal_params, sizeof(coal_params)); if (!virtnet_send_command(v...
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
2017 Jan 18
0
[PATCH net-next V5 3/3] tun: rx batching
...uct tun_pcpu_stats); if (!tun->pcpu_stats) { @@ -2438,6 +2477,29 @@ static void tun_set_msglevel(struct net_device *dev, u32 value) #endif } +static int tun_get_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct tun_struct *tun = netdev_priv(dev); + + ec->rx_max_coalesced_frames = tun->rx_batched; + + return 0; +} + +static int tun_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct tun_struct *tun = netdev_priv(dev); + + if (ec->rx_max_coalesced_frames > NAPI_POLL_WEIGHT) + tun->rx_batched = NAPI_POLL_WEIGHT; + else + tun-...
2017 Jan 06
0
[PATCH V4 net-next 3/3] tun: rx batching
...uct tun_pcpu_stats); if (!tun->pcpu_stats) { @@ -2439,6 +2478,29 @@ static void tun_set_msglevel(struct net_device *dev, u32 value) #endif } +static int tun_get_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct tun_struct *tun = netdev_priv(dev); + + ec->rx_max_coalesced_frames = tun->rx_batched; + + return 0; +} + +static int tun_set_coalesce(struct net_device *dev, + struct ethtool_coalesce *ec) +{ + struct tun_struct *tun = netdev_priv(dev); + + if (ec->rx_max_coalesced_frames > NAPI_POLL_WEIGHT) + return -EINVAL; + + tun->rx_batched = ec->rx_ma...
2017 Jan 06
5
[PATCH V4 net-next 0/3] vhost_net tx batching
Hi: This series tries to implement tx batching support for vhost. This was done by using MSG_MORE as a hint for under layer socket. The backend (e.g tap) can then batch the packets temporarily in a list and submit it all once the number of bacthed exceeds a limitation. Tests shows obvious improvement on guest pktgen over over mlx4(noqueue) on host: Mpps -+%