search for: netif_tx_wake_all_queu

Displaying 20 results from an estimated 76 matches for "netif_tx_wake_all_queu".

2018 Oct 11
0
[PATCH] virtio_net: enable tx after resuming from suspend
...drivers/net/virtio_net.c >>> @@ -2256,6 +2256,7 @@ static int virtnet_restore_up(struct >>> virtio_device *vdev) >>> ????? } >>> ? ????? netif_device_attach(vi->dev); >>> +??? netif_start_queue(vi->dev); >> I believe this is duplicated with netif_tx_wake_all_queues() in >> netif_device_attach() above? > Thank you for your review. > > If both netif_tx_wake_all_queues() and netif_start_queue() result in > clearing __QUEUE_STATE_DRV_XOFF, then is it possible that some > conditions in netif_device_attach() is not satisfied? Yes, maybe. One...
2018 Oct 12
0
[PATCH] virtio_net: enable tx after resuming from suspend
...2256,6 +2256,7 @@ static int virtnet_restore_up(struct >>>>> virtio_device *vdev) >>>>> ?????? } >>>>> ?? ????? netif_device_attach(vi->dev); >>>>> +??? netif_start_queue(vi->dev); >>>> I believe this is duplicated with netif_tx_wake_all_queues() in >>>> netif_device_attach() above? >>> Thank you for your review. >>> >>> If both netif_tx_wake_all_queues() and netif_start_queue() result in >>> clearing __QUEUE_STATE_DRV_XOFF, then is it possible that some >>> conditions in netif_de...
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...e_dev != standby_dev) > > > + goto done; > > > + > > > + if ((primary_dev && failover_xmit_ready(primary_dev)) || > > > + (standby_dev && failover_xmit_ready(standby_dev))) { > > > + netif_carrier_on(failover_dev); > > > + netif_tx_wake_all_queues(failover_dev); > > > + } else { > > > + netif_carrier_off(failover_dev); > > > + netif_tx_stop_all_queues(failover_dev); > > And I think it's a good idea to get stats from device here too. > > Not sure why we need to get stats from lower devs here? l...
2018 Oct 16
0
[PATCH] virtio_net: enable tx after resuming from suspend
...;>>>>>> virtio_device *vdev) >>>>>>>> ??????? } >>>>>>>> ??? ????? netif_device_attach(vi->dev); >>>>>>>> +??? netif_start_queue(vi->dev); >>>>>>> I believe this is duplicated with netif_tx_wake_all_queues() in >>>>>>> netif_device_attach() above? >>>>>> Thank you for your review. >>>>>> >>>>>> If both netif_tx_wake_all_queues() and netif_start_queue() result in >>>>>> clearing __QUEUE_STATE_DRV_XOFF, then...
2018 Jan 04
2
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...ed(speed)) + vi->speed = speed; + duplex = virtio_cread8(vi->vdev, + offsetof(struct virtio_net_config, + duplex)); + if (ethtool_validate_duplex(duplex)) + vi->duplex = duplex; + } + if (vi->status & VIRTIO_NET_S_LINK_UP) { netif_carrier_on(vi->dev); netif_tx_wake_all_queues(vi->dev); @@ -2796,7 +2812,8 @@ static struct virtio_device_id id_table[] = { VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \ VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \ VIRTIO_NET_F_CTRL_MAC_ADDR, \ - VIRTIO_NET_F_MTU, VIRTIO_NET_F_CTRL_GUEST_OFFLOADS + VIRTIO_NET_F_MTU, VIRTIO_NET_...
2018 Jan 04
3
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...gt; + offsetof(struct virtio_net_config, >> + duplex)); >> + if (ethtool_validate_duplex(duplex)) >> + vi->duplex = duplex; >> + } >> + >> if (vi->status & VIRTIO_NET_S_LINK_UP) { >> netif_carrier_on(vi->dev); >> netif_tx_wake_all_queues(vi->dev); > > OK so this handles the case when VIRTIO_NET_F_STATUS is set, > but when it's clear we need to call this from virtnet_probe. > > I propose moving this chunk to a function and calling from two places. > good point. will update. Thanks, -Jason > >...
2018 Jan 04
3
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...gt; + offsetof(struct virtio_net_config, >> + duplex)); >> + if (ethtool_validate_duplex(duplex)) >> + vi->duplex = duplex; >> + } >> + >> if (vi->status & VIRTIO_NET_S_LINK_UP) { >> netif_carrier_on(vi->dev); >> netif_tx_wake_all_queues(vi->dev); > > OK so this handles the case when VIRTIO_NET_F_STATUS is set, > but when it's clear we need to call this from virtnet_probe. > > I propose moving this chunk to a function and calling from two places. > good point. will update. Thanks, -Jason > >...
2018 Jan 04
1
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...gt; + offsetof(struct virtio_net_config, >> + duplex)); >> + if (ethtool_validate_duplex(duplex)) >> + vi->duplex = duplex; >> + } >> + >> if (vi->status & VIRTIO_NET_S_LINK_UP) { >> netif_carrier_on(vi->dev); >> netif_tx_wake_all_queues(vi->dev); >> @@ -2796,7 +2812,8 @@ static struct virtio_device_id id_table[] = { >> VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \ >> VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \ >> VIRTIO_NET_F_CTRL_MAC_ADDR, \ >> - VIRTIO_NET_F_MTU, VIRTIO_NET_F_CTRL_G...
2018 Jan 04
1
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...gt; + offsetof(struct virtio_net_config, >> + duplex)); >> + if (ethtool_validate_duplex(duplex)) >> + vi->duplex = duplex; >> + } >> + >> if (vi->status & VIRTIO_NET_S_LINK_UP) { >> netif_carrier_on(vi->dev); >> netif_tx_wake_all_queues(vi->dev); >> @@ -2796,7 +2812,8 @@ static struct virtio_device_id id_table[] = { >> VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \ >> VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \ >> VIRTIO_NET_F_CTRL_MAC_ADDR, \ >> - VIRTIO_NET_F_MTU, VIRTIO_NET_F_CTRL_G...
2018 Jan 04
5
[PATCH v3 0/3] virtio_net: allow hypervisor to indicate linkspeed and duplex setting
We have found it useful to be able to set the linkspeed and duplex settings from the host-side for virtio_net. This obviates the need for guest changes and settings for these fields, and does not require custom ethtool commands for virtio_net. The ability to set linkspeed and duplex is useful in various cases as described here: 16032be virtio_net: add ethtool support for set and get of settings
2018 Apr 20
0
[virtio-dev] Re: [PATCH v7 net-next 2/4] net: Introduce generic failover module
...goto done; >> > > + >> > > + if ((primary_dev && failover_xmit_ready(primary_dev)) || >> > > + (standby_dev && failover_xmit_ready(standby_dev))) { >> > > + netif_carrier_on(failover_dev); >> > > + netif_tx_wake_all_queues(failover_dev); >> > > + } else { >> > > + netif_carrier_off(failover_dev); >> > > + netif_tx_stop_all_queues(failover_dev); >> > And I think it's a good idea to get stats from device here too. >> >> Not sure why we need...
2018 Oct 11
0
[PATCH] virtio_net: enable tx after resuming from suspend
...f81 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -2256,6 +2256,7 @@ static int virtnet_restore_up(struct virtio_device *vdev) > } > > netif_device_attach(vi->dev); > + netif_start_queue(vi->dev); I believe this is duplicated with netif_tx_wake_all_queues() in netif_device_attach() above? Thanks > return err; > } >
2018 Jan 04
0
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...x = virtio_cread8(vi->vdev, > + offsetof(struct virtio_net_config, > + duplex)); > + if (ethtool_validate_duplex(duplex)) > + vi->duplex = duplex; > + } > + > if (vi->status & VIRTIO_NET_S_LINK_UP) { > netif_carrier_on(vi->dev); > netif_tx_wake_all_queues(vi->dev); > @@ -2796,7 +2812,8 @@ static struct virtio_device_id id_table[] = { > VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \ > VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \ > VIRTIO_NET_F_CTRL_MAC_ADDR, \ > - VIRTIO_NET_F_MTU, VIRTIO_NET_F_CTRL_GUEST_OFFLOADS > +...
2018 Jan 04
0
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...x = virtio_cread8(vi->vdev, > + offsetof(struct virtio_net_config, > + duplex)); > + if (ethtool_validate_duplex(duplex)) > + vi->duplex = duplex; > + } > + > if (vi->status & VIRTIO_NET_S_LINK_UP) { > netif_carrier_on(vi->dev); > netif_tx_wake_all_queues(vi->dev); OK so this handles the case when VIRTIO_NET_F_STATUS is set, but when it's clear we need to call this from virtnet_probe. I propose moving this chunk to a function and calling from two places. > @@ -2796,7 +2812,8 @@ static struct virtio_device_id id_table[] = { > VIR...
2018 Jan 05
0
[PATCH net-next v4 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
....get_drvinfo = virtnet_get_drvinfo, .get_link = ethtool_op_get_link, @@ -2147,6 +2165,7 @@ static void virtnet_config_changed_work(struct work_struct *work) vi->status = v; if (vi->status & VIRTIO_NET_S_LINK_UP) { + virtnet_update_settings(vi); netif_carrier_on(vi->dev); netif_tx_wake_all_queues(vi->dev); } else { @@ -2695,6 +2714,7 @@ static int virtnet_probe(struct virtio_device *vdev) schedule_work(&vi->config_work); } else { vi->status = VIRTIO_NET_S_LINK_UP; + virtnet_update_settings(vi); netif_carrier_on(dev); } @@ -2796,7 +2816,8 @@ static struct vir...
2018 Jan 04
0
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...et_config, > >> + duplex)); > >> + if (ethtool_validate_duplex(duplex)) > >> + vi->duplex = duplex; > >> + } > >> + > >> if (vi->status & VIRTIO_NET_S_LINK_UP) { > >> netif_carrier_on(vi->dev); > >> netif_tx_wake_all_queues(vi->dev); > >> @@ -2796,7 +2812,8 @@ static struct virtio_device_id id_table[] = { > >> VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \ > >> VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \ > >> VIRTIO_NET_F_CTRL_MAC_ADDR, \ > >> - VIRTIO_NET_F...
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...; > + > + if (slave_dev != primary_dev && slave_dev != standby_dev) > + goto done; > + > + if ((primary_dev && failover_xmit_ready(primary_dev)) || > + (standby_dev && failover_xmit_ready(standby_dev))) { > + netif_carrier_on(failover_dev); > + netif_tx_wake_all_queues(failover_dev); > + } else { > + netif_carrier_off(failover_dev); > + netif_tx_stop_all_queues(failover_dev); And I think it's a good idea to get stats from device here too. > + } > + > +done: > + return NOTIFY_DONE; > +} > + > +static bool failover_validate_...
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...; > + > + if (slave_dev != primary_dev && slave_dev != standby_dev) > + goto done; > + > + if ((primary_dev && failover_xmit_ready(primary_dev)) || > + (standby_dev && failover_xmit_ready(standby_dev))) { > + netif_carrier_on(failover_dev); > + netif_tx_wake_all_queues(failover_dev); > + } else { > + netif_carrier_off(failover_dev); > + netif_tx_stop_all_queues(failover_dev); And I think it's a good idea to get stats from device here too. > + } > + > +done: > + return NOTIFY_DONE; > +} > + > +static bool failover_validate_...
2018 Jan 04
0
[PATCH net-next v3 1/3] virtio_net: propagate linkspeed/duplex settings from the hypervisor
...et_config, > >> + duplex)); > >> + if (ethtool_validate_duplex(duplex)) > >> + vi->duplex = duplex; > >> + } > >> + > >> if (vi->status & VIRTIO_NET_S_LINK_UP) { > >> netif_carrier_on(vi->dev); > >> netif_tx_wake_all_queues(vi->dev); > > > > OK so this handles the case when VIRTIO_NET_F_STATUS is set, > > but when it's clear we need to call this from virtnet_probe. > > > > I propose moving this chunk to a function and calling from two places. > > > > good point. w...
2018 Feb 16
0
[RFC PATCH v3 2/3] virtio_net: Extend virtio to use VF datapath when available
...); + + if (err) + netdev_warn(dev, "unable to open slave: %s: %d\n", + child_netdev->name, err); +} + +static int virtnet_bypass_open(struct net_device *dev) +{ + struct virtnet_bypass_info *vbi = netdev_priv(dev); + struct net_device *child_netdev; + + netif_carrier_off(dev); + netif_tx_wake_all_queues(dev); + + child_netdev = rtnl_dereference(vbi->active_netdev); + if (child_netdev) + virtnet_bypass_child_open(dev, child_netdev); + + child_netdev = rtnl_dereference(vbi->backup_netdev); + if (child_netdev) + virtnet_bypass_child_open(dev, child_netdev); + + return 0; +} + +static int vi...