Displaying 3 results from an estimated 3 matches for "xenvif_put".
Did you mean:
nvif_put
2013 Feb 06
0
[PATCH 1/4] xen/netback: shutdown the ring if it contains garbage.
...xenvif_disconnect(struct xenvif *vif)
+void xenvif_carrier_off(struct xenvif *vif)
{
struct net_device *dev = vif->dev;
- if (netif_carrier_ok(dev)) {
- rtnl_lock();
- netif_carrier_off(dev); /* discard queued packets */
- if (netif_running(dev))
- xenvif_down(vif);
- rtnl_unlock();
- xenvif_put(vif);
- }
+
+ rtnl_lock();
+ netif_carrier_off(dev); /* discard queued packets */
+ if (netif_running(dev))
+ xenvif_down(vif);
+ rtnl_unlock();
+ xenvif_put(vif);
+}
+
+void xenvif_disconnect(struct xenvif *vif)
+{
+ if (netif_carrier_ok(vif->dev))
+ xenvif_carrier_off(vif);
atomic_dec(&a...
2013 Feb 01
45
netback Oops then xenwatch stuck in D state
We''ve been hitting the following issue on a variety of hosts and recent
Xen/dom0 version combinations. Here''s an excerpt from our latest:
Xen: 4.1.4 (xenbits @ 23432)
Dom0: 3.7.1-x86_64
BUG: unable to handle kernel NULL pointer dereference at 000000000000001c
IP: [<ffffffff8141a301>] evtchn_from_irq+0x11/0x40
PGD 0
Oops: 0000 [#1] SMP
Modules linked in: ebt_comment
2013 Jun 24
3
[PATCH v2] xen-netback: add a pseudo pps rate limit
...d_gops(struct xen_netbk *netbk)
rmb(); /* Ensure that we see the request before we copy it. */
memcpy(&txreq, RING_GET_REQUEST(&vif->tx, idx), sizeof(txreq));
+ /* pps-based scheduling. */
+ if(vif->remaining_packets < 1 &&
+ tx_packets_exceeded(vif)) {
+ xenvif_put(vif);
+ continue;
+ }
+
/* Credit-based scheduling. */
if (txreq.size > vif->remaining_credit &&
tx_credit_exceeded(vif, txreq.size)) {
@@ -1478,6 +1523,7 @@ static unsigned xen_netbk_tx_build_gops(struct xen_netbk *netbk)
}
vif->remaining_credit -= txreq...