search for: vbi

Displaying 20 results from an estimated 54 matches for "vbi".

Did you mean: abi
2018 Feb 16
8
[RFC PATCH v3 0/3] Enable virtio_net to act as a backup for a passthru device
Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be used by hypervisor to indicate that virtio_net interface should act as a backup for another device with the same MAC address. Ppatch 2 is in response to the community request for a 3 netdev solution. However, it creates some issues we'll get into in a moment. It extends virtio_net to use alternate datapath when available
2018 Feb 16
8
[RFC PATCH v3 0/3] Enable virtio_net to act as a backup for a passthru device
Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be used by hypervisor to indicate that virtio_net interface should act as a backup for another device with the same MAC address. Ppatch 2 is in response to the community request for a 3 netdev solution. However, it creates some issues we'll get into in a moment. It extends virtio_net to use alternate datapath when available
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
..._link_stats64 backup_stats; >+ >+ /* aggregated stats */ >+ struct rtnl_link_stats64 bypass_stats; >+ >+ /* spinlock while updating stats */ >+ spinlock_t stats_lock; >+}; >+ >+static int virtnet_bypass_open(struct net_device *dev) >+{ >+ struct virtnet_bypass_info *vbi = netdev_priv(dev); >+ struct net_device *active_netdev, *backup_netdev; >+ int err; >+ >+ netif_carrier_off(dev); >+ netif_tx_wake_all_queues(dev); >+ >+ active_netdev = rtnl_dereference(vbi->active_netdev); >+ if (active_netdev) { >+ err = dev_open(active_netdev); &...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
..._link_stats64 backup_stats; >+ >+ /* aggregated stats */ >+ struct rtnl_link_stats64 bypass_stats; >+ >+ /* spinlock while updating stats */ >+ spinlock_t stats_lock; >+}; >+ >+static int virtnet_bypass_open(struct net_device *dev) >+{ >+ struct virtnet_bypass_info *vbi = netdev_priv(dev); >+ struct net_device *active_netdev, *backup_netdev; >+ int err; >+ >+ netif_carrier_off(dev); >+ netif_tx_wake_all_queues(dev); >+ >+ active_netdev = rtnl_dereference(vbi->active_netdev); >+ if (active_netdev) { >+ err = dev_open(active_netdev); &...
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...+ + /* backup netdev stats */ + struct rtnl_link_stats64 backup_stats; + + /* aggregated stats */ + struct rtnl_link_stats64 bypass_stats; + + /* spinlock while updating stats */ + spinlock_t stats_lock; +}; + +static int virtnet_bypass_open(struct net_device *dev) +{ + struct virtnet_bypass_info *vbi = netdev_priv(dev); + struct net_device *active_netdev, *backup_netdev; + int err; + + netif_carrier_off(dev); + netif_tx_wake_all_queues(dev); + + active_netdev = rtnl_dereference(vbi->active_netdev); + if (active_netdev) { + err = dev_open(active_netdev); + if (err) + goto err_active_open;...
2018 Feb 16
0
[RFC PATCH v3 2/3] virtio_net: Extend virtio to use VF datapath when available
..._device *dev, + struct net_device *child_netdev) +{ + int err = dev_open(child_netdev); + + 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_net...
2018 Apr 06
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
On 4/6/2018 5:48 AM, Jiri Pirko wrote: > Thu, Apr 05, 2018 at 11:08:22PM CEST, sridhar.samudrala at intel.com wrote: <snip> > >> + >> +static void virtnet_bypass_set_rx_mode(struct net_device *dev) >> +{ >> + struct virtnet_bypass_info *vbi = netdev_priv(dev); >> + struct net_device *child_netdev; >> + >> + rcu_read_lock(); >> + >> + child_netdev = rcu_dereference(vbi->active_netdev); >> + if (child_netdev) { >> + dev_uc_sync_multiple(child_netdev, dev); >> + dev_mc_sync_multiple(ch...
2020 Oct 19
1
Small patch for nv50_vbo.c
...llium/drivers/nouveau/nv50/nv50_vbo.c b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c index 8d1c8c7665b..29b63a525aa 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c @@ -189,8 +189,12 @@ nv50_user_vbuf_range(struct nv50_context *nv50, unsigned vbi, assert(vbi < PIPE_MAX_ATTRIBS); if (unlikely(nv50->vertex->instance_bufs & (1 << vbi))) { /* TODO: use min and max instance divisor to get a proper range */ - *base = 0; - *size = nv50->vtxbuf[vbi].buffer.resource->width0; + const uint32_t div...
2018 Feb 17
1
[RFC PATCH v3 2/3] virtio_net: Extend virtio to use VF datapath when available
...ff-by: Sridhar Samudrala <sridhar.samudrala at intel.com> > Signed-off-by: Alexander Duyck <alexander.h.duyck at intel.com> > +static void > +virtnet_bypass_get_stats(struct net_device *dev, > + struct rtnl_link_stats64 *stats) > +{ > + struct virtnet_bypass_info *vbi = netdev_priv(dev); > + const struct rtnl_link_stats64 *new; > + struct rtnl_link_stats64 temp; > + struct net_device *child_netdev; > + > + spin_lock(&vbi->stats_lock); > + memcpy(stats, &vbi->bypass_stats, sizeof(*stats)); > + > + rcu_read_lock(); > + >...
2018 Apr 05
6
[RFC PATCH net-next v5 0/4] Enable virtio_net to act as a backup for a passthru device
The main motivation for this patch is to enable cloud service providers to provide an accelerated datapath to virtio-net enabled VMs in a transparent manner with no/minimal guest userspace changes. This also enables hypervisor controlled live migration to be supported with VMs that have direct attached SR-IOV VF devices. Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be used
2018 Apr 09
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...e: >> Thu, Apr 05, 2018 at 11:08:22PM CEST, sridhar.samudrala at intel.com wrote: [...] >> > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > + struct net_device *child_netdev) >> > +{ >> > + struct virtnet_bypass_info *vbi; >> > + bool backup; >> > + >> > + vbi = netdev_priv(bypass_netdev); >> > + backup = (child_netdev->dev.parent == bypass_netdev->dev.parent); >> > + if (backup ? rtnl_dereference(vbi->backup_netdev) : >> > + rtnl_dereference(vbi->a...
2018 Apr 09
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...e: >> Thu, Apr 05, 2018 at 11:08:22PM CEST, sridhar.samudrala at intel.com wrote: [...] >> > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > + struct net_device *child_netdev) >> > +{ >> > + struct virtnet_bypass_info *vbi; >> > + bool backup; >> > + >> > + vbi = netdev_priv(bypass_netdev); >> > + backup = (child_netdev->dev.parent == bypass_netdev->dev.parent); >> > + if (backup ? rtnl_dereference(vbi->backup_netdev) : >> > + rtnl_dereference(vbi->a...
2018 Apr 10
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
....samudrala at intel.com wrote: >> [...] >> >> > > > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > + struct net_device *child_netdev) >> > > > +{ >> > > > + struct virtnet_bypass_info *vbi; >> > > > + bool backup; >> > > > + >> > > > + vbi = netdev_priv(bypass_netdev); >> > > > + backup = (child_netdev->dev.parent == bypass_netdev->dev.parent); >> > > > + if (backup ? rtnl_dereference(vbi->backup_netd...
2018 Apr 10
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
....samudrala at intel.com wrote: >> [...] >> >> > > > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > + struct net_device *child_netdev) >> > > > +{ >> > > > + struct virtnet_bypass_info *vbi; >> > > > + bool backup; >> > > > + >> > > > + vbi = netdev_priv(bypass_netdev); >> > > > + backup = (child_netdev->dev.parent == bypass_netdev->dev.parent); >> > > > + if (backup ? rtnl_dereference(vbi->backup_netd...
2018 Apr 10
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...> > > >> > > > > > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > > > + struct net_device *child_netdev) >> > > > > > +{ >> > > > > > + struct virtnet_bypass_info *vbi; >> > > > > > + bool backup; >> > > > > > + >> > > > > > + vbi = netdev_priv(bypass_netdev); >> > > > > > + backup = (child_netdev->dev.parent == bypass_netdev->dev.parent); >> > > > > > +...
2018 Apr 10
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...> > > >> > > > > > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > > > + struct net_device *child_netdev) >> > > > > > +{ >> > > > > > + struct virtnet_bypass_info *vbi; >> > > > > > + bool backup; >> > > > > > + >> > > > > > + vbi = netdev_priv(bypass_netdev); >> > > > > > + backup = (child_netdev->dev.parent == bypass_netdev->dev.parent); >> > > > > > +...
2018 Apr 10
3
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...> > > > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > > > > > + struct net_device *child_netdev) >> > > > > > > > +{ >> > > > > > > > + struct virtnet_bypass_info *vbi; >> > > > > > > > + bool backup; >> > > > > > > > + >> > > > > > > > + vbi = netdev_priv(bypass_netdev); >> > > > > > > > + backup = (child_netdev->dev.parent == bypass_netdev->dev.pare...
2018 Apr 10
3
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...> > > > +static int virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > > > > > + struct net_device *child_netdev) >> > > > > > > > +{ >> > > > > > > > + struct virtnet_bypass_info *vbi; >> > > > > > > > + bool backup; >> > > > > > > > + >> > > > > > > > + vbi = netdev_priv(bypass_netdev); >> > > > > > > > + backup = (child_netdev->dev.parent == bypass_netdev->dev.pare...
2018 Apr 11
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...t virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > > > > > > > + struct net_device *child_netdev) >> > > > > > > > > > +{ >> > > > > > > > > > + struct virtnet_bypass_info *vbi; >> > > > > > > > > > + bool backup; >> > > > > > > > > > + >> > > > > > > > > > + vbi = netdev_priv(bypass_netdev); >> > > > > > > > > > + backup = (child_netdev->...
2018 Apr 11
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...t virtnet_bypass_join_child(struct net_device *bypass_netdev, >> > > > > > > > > > + struct net_device *child_netdev) >> > > > > > > > > > +{ >> > > > > > > > > > + struct virtnet_bypass_info *vbi; >> > > > > > > > > > + bool backup; >> > > > > > > > > > + >> > > > > > > > > > + vbi = netdev_priv(bypass_netdev); >> > > > > > > > > > + backup = (child_netdev->...