Searched refs:npinfo (Results 1 - 8 of 8) sorted by relevance

/linux-4.1.27/net/core/
H A Dnetpoll.c100 struct netpoll_info *npinfo = queue_process() local
105 while ((skb = skb_dequeue(&npinfo->txq))) { queue_process()
120 skb_queue_head(&npinfo->txq, skb); queue_process()
124 schedule_delayed_work(&npinfo->tx_work, HZ/10); queue_process()
181 struct netpoll_info *ni = rcu_dereference_bh(dev->npinfo); netpoll_poll_dev()
218 ni = srcu_dereference(dev->npinfo, &netpoll_srcu); netpoll_poll_disable()
229 ni = rcu_dereference(dev->npinfo); netpoll_poll_enable()
323 /* It is up to the caller to keep npinfo alive. */ netpoll_send_skb_on_dev()
324 struct netpoll_info *npinfo; netpoll_send_skb_on_dev() local
328 npinfo = rcu_dereference_bh(np->dev->npinfo); netpoll_send_skb_on_dev()
329 if (!npinfo || !netif_running(dev) || !netif_device_present(dev)) { netpoll_send_skb_on_dev()
335 if (skb_queue_len(&npinfo->txq) == 0 && !netpoll_owner_active(dev)) { netpoll_send_skb_on_dev()
367 skb_queue_tail(&npinfo->txq, skb); netpoll_send_skb_on_dev()
368 schedule_delayed_work(&npinfo->tx_work,0); netpoll_send_skb_on_dev()
595 struct netpoll_info *npinfo; __netpoll_setup() local
611 if (!ndev->npinfo) { __netpoll_setup()
612 npinfo = kmalloc(sizeof(*npinfo), GFP_KERNEL); __netpoll_setup()
613 if (!npinfo) { __netpoll_setup()
618 sema_init(&npinfo->dev_lock, 1); __netpoll_setup()
619 skb_queue_head_init(&npinfo->txq); __netpoll_setup()
620 INIT_DELAYED_WORK(&npinfo->tx_work, queue_process); __netpoll_setup()
622 atomic_set(&npinfo->refcnt, 1); __netpoll_setup()
626 err = ops->ndo_netpoll_setup(ndev, npinfo); __netpoll_setup()
631 npinfo = rtnl_dereference(ndev->npinfo); __netpoll_setup()
632 atomic_inc(&npinfo->refcnt); __netpoll_setup()
635 npinfo->netpoll = np; __netpoll_setup()
638 rcu_assign_pointer(ndev->npinfo, npinfo); __netpoll_setup()
643 kfree(npinfo); __netpoll_setup()
782 struct netpoll_info *npinfo = rcu_cleanup_netpoll_info() local
785 skb_queue_purge(&npinfo->txq); rcu_cleanup_netpoll_info()
788 cancel_delayed_work(&npinfo->tx_work); rcu_cleanup_netpoll_info()
791 __skb_queue_purge(&npinfo->txq); rcu_cleanup_netpoll_info()
793 cancel_delayed_work(&npinfo->tx_work); rcu_cleanup_netpoll_info()
794 kfree(npinfo); rcu_cleanup_netpoll_info()
799 struct netpoll_info *npinfo; __netpoll_cleanup() local
805 npinfo = rtnl_dereference(np->dev->npinfo); __netpoll_cleanup()
806 if (!npinfo) __netpoll_cleanup()
811 if (atomic_dec_and_test(&npinfo->refcnt)) { __netpoll_cleanup()
818 RCU_INIT_POINTER(np->dev->npinfo, NULL); __netpoll_cleanup()
819 call_rcu_bh(&npinfo->rcu, rcu_cleanup_netpoll_info); __netpoll_cleanup()
821 RCU_INIT_POINTER(np->dev->npinfo, NULL); __netpoll_cleanup()
/linux-4.1.27/include/linux/
H A Dnetpoll.h80 if (dev && dev->npinfo) { netpoll_poll_lock()
H A Dnetdevice.h1463 * @npinfo: XXX: need comments on this one
1710 struct netpoll_info __rcu *npinfo; member in struct:net_device
/linux-4.1.27/net/bridge/
H A Dbr_device.c263 if (!p->br->dev->npinfo) br_netpoll_enable()
/linux-4.1.27/net/8021q/
H A Dvlan_dev.c697 static int vlan_dev_netpoll_setup(struct net_device *dev, struct netpoll_info *npinfo) vlan_dev_netpoll_setup() argument
/linux-4.1.27/drivers/net/bonding/
H A Dbond_main.c981 ni = rcu_dereference_bh(slave->dev->npinfo); bond_for_each_slave_rcu()
1636 slave_dev->npinfo = bond->dev->npinfo; bond_enslave()
1637 if (slave_dev->npinfo) { bond_enslave()
/linux-4.1.27/drivers/net/
H A Dmacvlan.c974 static int macvlan_dev_netpoll_setup(struct net_device *dev, struct netpoll_info *npinfo) macvlan_dev_netpoll_setup() argument
/linux-4.1.27/drivers/net/team/
H A Dteam.c1042 if (!team->dev->npinfo) team_port_enable_netpoll()

Completed in 345 milliseconds