You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(216) |
Sep
(50) |
Oct
(100) |
Nov
(72) |
Dec
(177) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(7) |
Feb
(15) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(7) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2014 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Derry <Sas...@gm...> - 2013-09-12 01:10:00
|
note accessories etc - A huge selection - http://qps.ru/tqTlk |
From: Patrick M. <pmu...@no...> - 2010-06-27 22:58:46
|
The macvlan driver had significant changes that required re-aligned in this driver. Macvlan forwarding between macvlans is now supported. Signed-off-by: Patrick Mullaney <pmu...@no...> --- drivers/net/vbus-enet.c | 17 ++++++++++------- kernel/vbus/devices/venet/device.c | 5 +++-- kernel/vbus/devices/venet/macvlan.c | 18 ++++++++---------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/drivers/net/vbus-enet.c b/drivers/net/vbus-enet.c index 0d39721..1c348ce 100644 --- a/drivers/net/vbus-enet.c +++ b/drivers/net/vbus-enet.c @@ -50,7 +50,7 @@ module_param(tx_ringlen, int, 0444); static int sg_enabled = 1; module_param(sg_enabled, int, 0444); -#define PDEBUG(_dev, fmt, args...) dev_dbg(&(_dev)->dev, fmt, ## args) +#define PDEBUG(_dev, fmt, args...) #define SG_DESC_SIZE VSG_DESC_SIZE(MAX_SKB_FRAGS) @@ -846,13 +846,16 @@ vbus_enet_tx_start(struct sk_buff *skb, struct net_device *dev) vsg->cookie = (u64)(unsigned long)skb; vsg->len = skb->len; - vsg->phdr.transport = skb_transport_header(skb) - skb->head; - vsg->phdr.network = skb_network_header(skb) - skb->head; + if (!skb_mac_header_was_set(skb)) + skb_reset_mac_header(skb); - if (skb_mac_header_was_set(skb)) - vsg->phdr.mac = skb_mac_header(skb) - skb->head; - else - vsg->phdr.mac = ~0U; + /* the following vsg members are now offsets from + the beginning of the mac heaser(mac=0 now). */ + vsg->phdr.mac = 0; + vsg->phdr.network = skb_network_header(skb) + - skb_mac_header(skb); + vsg->phdr.transport = skb_transport_header(skb) + - skb_mac_header(skb); if (skb->ip_summed == CHECKSUM_PARTIAL) { vsg->flags |= VENET_SG_FLAG_NEEDS_CSUM; diff --git a/kernel/vbus/devices/venet/device.c b/kernel/vbus/devices/venet/device.c index e84f58d..db5036b 100644 --- a/kernel/vbus/devices/venet/device.c +++ b/kernel/vbus/devices/venet/device.c @@ -785,9 +785,10 @@ venetdev_sg_import(struct venetdev *priv, void *ptr, int len) return NULL; } - if (vsg->phdr.mac != ~0U) - skb_set_mac_header(skb, vsg->phdr.mac); + if (vsg->phdr.mac == ~0U || vsg->phdr.mac == 0) + PDEBUG("mac header invalid!!!\n"); + skb_reset_mac_header(skb); skb_set_network_header(skb, vsg->phdr.network); skb_set_transport_header(skb, vsg->phdr.transport); diff --git a/kernel/vbus/devices/venet/macvlan.c b/kernel/vbus/devices/venet/macvlan.c index 8d37b86..3c9d2de 100644 --- a/kernel/vbus/devices/venet/macvlan.c +++ b/kernel/vbus/devices/venet/macvlan.c @@ -99,17 +99,9 @@ struct venetmacv *vbusdev_to_macv(struct vbus_device *vdev) return container_of(vdev, struct venetmacv, dev.vbus.dev); } -static int venetmacv_receive(struct net_device *dev, struct sk_buff *skb) +static int venetmacv_forward(struct net_device *dev, struct sk_buff *skb) { - struct venetmacv_netdev *priv = netdev_priv(skb->dev); - struct venetmacv *macv = priv->vdev; - skb_push(skb, ETH_HLEN); - return venetdev_xmit(skb, &macv->dev); -} - -static int venetmacv_forward(struct sk_buff *skb) -{ - struct venetmacv_netdev *priv = netdev_priv(skb->dev); + struct venetmacv_netdev *priv = netdev_priv(dev); struct venetmacv *macv = priv->vdev; int err; @@ -133,6 +125,12 @@ static int venetmacv_forward(struct sk_buff *skb) return venetdev_xmit(skb, &macv->dev); } +static int venetmacv_receive(struct sk_buff *skb) +{ + skb_push(skb, ETH_HLEN); + return venetmacv_forward(skb->dev, skb); +} + static void venetmacv_vlink_release(struct vbus_connection *conn) { |
From: Patrick M. <pmu...@no...> - 2010-06-27 22:58:46
|
--- Patrick Mullaney (1): venet-macvlan: macvlan changes for 2.6.34 drivers/net/vbus-enet.c | 17 ++++++++++------- kernel/vbus/devices/venet/device.c | 5 +++-- kernel/vbus/devices/venet/macvlan.c | 18 ++++++++---------- 3 files changed, 21 insertions(+), 19 deletions(-) -- |
From: Patrick M. <pmu...@no...> - 2010-06-27 22:54:01
|
slots_lock change from a rw lock to a mutex. Bus identification also changed. Signed-off-by: Patrick Mullaney <pmu...@no...> --- virt/kvm/xinterface.c | 28 +++++++++++++++------------- 1 files changed, 15 insertions(+), 13 deletions(-) diff --git a/virt/kvm/xinterface.c b/virt/kvm/xinterface.c index 16729f6..7872068 100644 --- a/virt/kvm/xinterface.c +++ b/virt/kvm/xinterface.c @@ -27,6 +27,7 @@ #include <linux/mmu_context.h> #include <linux/kvm_host.h> #include <linux/kvm_xinterface.h> +#include <linux/slab.h> #include "iodev.h" @@ -47,7 +48,7 @@ struct _xvmap { struct _ioevent { u64 addr; int length; - struct kvm_io_bus *bus; + enum kvm_bus bus; struct kvm_io_device dev; struct kvm_xioevent ioevent; }; @@ -216,7 +217,7 @@ xinterface_copy_to(struct kvm_xinterface *intf, unsigned long gpa, unsigned long dst; bool kthread = !current->mm; - down_read(&_intf->kvm->slots_lock); + mutex_lock(&_intf->kvm->slots_lock); dst = gpa_to_hva(_intf, gpa); if (!dst) @@ -234,7 +235,7 @@ xinterface_copy_to(struct kvm_xinterface *intf, unsigned long gpa, unuse_mm(_intf->mm); out: - up_read(&_intf->kvm->slots_lock); + mutex_unlock(&_intf->kvm->slots_lock); return n; } @@ -290,7 +291,7 @@ xinterface_copy_from(struct kvm_xinterface *intf, void *dst, unsigned long src; bool kthread = !current->mm; - down_read(&_intf->kvm->slots_lock); + mutex_lock(&_intf->kvm->slots_lock); src = gpa_to_hva(_intf, gpa); if (!src) @@ -308,7 +309,7 @@ xinterface_copy_from(struct kvm_xinterface *intf, void *dst, unuse_mm(_intf->mm); out: - up_read(&_intf->kvm->slots_lock); + mutex_unlock(&_intf->kvm->slots_lock); return n; } @@ -328,7 +329,7 @@ xinterface_vmap(struct kvm_xinterface *intf, unsigned long gfn = gpa >> PAGE_SHIFT; unsigned long npages; - down_read(&kvm->slots_lock); + mutex_lock(&kvm->slots_lock); memslot = gfn_to_memslot(kvm, gfn); if (!memslot) @@ -359,7 +360,7 @@ xinterface_vmap(struct kvm_xinterface *intf, _xvmap->vmap.addr = addr; _xvmap->vmap.len = len; - up_read(&kvm->slots_lock); + mutex_unlock(&kvm->slots_lock); return &_xvmap->vmap; @@ -367,7 +368,7 @@ fail: if (addr) _vunmap(_intf, addr, len); - up_read(&kvm->slots_lock); + mutex_unlock(&kvm->slots_lock); return ERR_PTR(ret); } @@ -417,7 +418,8 @@ xinterface_ioevent(struct kvm_xinterface *intf, struct _xinterface *_intf = to_intf(intf); struct kvm *kvm = _intf->kvm; int pio = flags & KVM_XIOEVENT_FLAG_PIO; - struct kvm_io_bus *bus = pio ? &kvm->pio_bus : &kvm->mmio_bus; + enum kvm_bus bus_idx = pio ? KVM_PIO_BUS : KVM_MMIO_BUS; + struct _ioevent *p; int ret; @@ -448,11 +450,11 @@ xinterface_ioevent(struct kvm_xinterface *intf, p->addr = addr; p->length = len; - p->bus = bus; + p->bus = bus_idx; kvm_iodevice_init(&p->dev, &ioevent_device_ops); - ret = kvm_io_bus_register_dev(kvm, bus, &p->dev); + ret = kvm_io_bus_register_dev(kvm, bus_idx, &p->dev); if (ret < 0) goto fail; @@ -482,7 +484,7 @@ xinterface_sgmap(struct kvm_xinterface *intf, struct scatterlist *sg; int i; - down_read(&kvm->slots_lock); + mutex_lock(&kvm->slots_lock); if (kthread) use_mm(_intf->mm); @@ -533,7 +535,7 @@ xinterface_sgmap(struct kvm_xinterface *intf, if (kthread) unuse_mm(_intf->mm); - up_read(&kvm->slots_lock); + mutex_unlock(&kvm->slots_lock); return ret; } |
From: Patrick M. <pmu...@no...> - 2010-06-27 22:54:00
|
Minor header inclusion changes for compile issues under 2.6.34 Signed-off-by: Patrick Mullaney <pmu...@no...> --- drivers/vbus/bus-proxy.c | 1 + kernel/vbus/client.c | 1 + kernel/vbus/config-ioctl.c | 1 + kernel/vbus/connectors/kvm.c | 1 + kernel/vbus/connectors/null.c | 1 + kernel/vbus/shm-ioq.c | 1 + lib/shm_signal_eventfd.c | 1 + 7 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/vbus/bus-proxy.c b/drivers/vbus/bus-proxy.c index 4792842..ae11f67 100644 --- a/drivers/vbus/bus-proxy.c +++ b/drivers/vbus/bus-proxy.c @@ -19,6 +19,7 @@ */ #include <linux/module.h> +#include <linux/slab.h> #include <linux/vbus_driver.h> MODULE_AUTHOR("Gregory Haskins"); diff --git a/kernel/vbus/client.c b/kernel/vbus/client.c index f0413bb..16348aa 100644 --- a/kernel/vbus/client.c +++ b/kernel/vbus/client.c @@ -5,6 +5,7 @@ #include <linux/uaccess.h> #include <linux/vbus.h> #include <linux/vbus_client.h> +#include <linux/slab.h> #include "vbus.h" static int diff --git a/kernel/vbus/config-ioctl.c b/kernel/vbus/config-ioctl.c index 44e823b..7aadb57 100644 --- a/kernel/vbus/config-ioctl.c +++ b/kernel/vbus/config-ioctl.c @@ -6,6 +6,7 @@ #include <linux/random.h> #include <linux/vbus.h> #include <linux/vbus_admin.h> +#include <linux/slab.h> #include "vbus.h" diff --git a/kernel/vbus/connectors/kvm.c b/kernel/vbus/connectors/kvm.c index b3de3ef..c26ced7 100644 --- a/kernel/vbus/connectors/kvm.c +++ b/kernel/vbus/connectors/kvm.c @@ -12,6 +12,7 @@ #include <linux/kvm_xinterface.h> #include <linux/shm_signal_eventfd.h> #include <linux/eventfd.h> +#include <linux/slab.h> #include <linux/vbus.h> #include <linux/vbus_kvm.h> diff --git a/kernel/vbus/connectors/null.c b/kernel/vbus/connectors/null.c index b6d16cb..c72158e 100644 --- a/kernel/vbus/connectors/null.c +++ b/kernel/vbus/connectors/null.c @@ -7,6 +7,7 @@ #include <linux/vbus_client.h> #include <linux/vbus_driver.h> #include <linux/list.h> +#include <linux/slab.h> MODULE_AUTHOR("Gregory Haskins"); MODULE_LICENSE("GPL"); diff --git a/kernel/vbus/shm-ioq.c b/kernel/vbus/shm-ioq.c index cc86d91..be90447 100644 --- a/kernel/vbus/shm-ioq.c +++ b/kernel/vbus/shm-ioq.c @@ -23,6 +23,7 @@ #include <linux/ioq.h> #include <linux/vbus_device.h> +#include <linux/slab.h> struct _ioq { struct vbus_shm *shm; diff --git a/lib/shm_signal_eventfd.c b/lib/shm_signal_eventfd.c index acfba46..c63885f 100644 --- a/lib/shm_signal_eventfd.c +++ b/lib/shm_signal_eventfd.c @@ -25,6 +25,7 @@ #include <linux/shm_signal.h> #include <linux/workqueue.h> #include <linux/eventfd.h> +#include <linux/slab.h> /* * --------------------------------------------- |
From: Patrick M. <pmu...@no...> - 2010-06-27 22:53:44
|
Fixes for changes in 2.6.34 --- Patrick Mullaney (2): xinterface: changes for 2.6.34 vbus: minor header changes required for 2.6.34 drivers/vbus/bus-proxy.c | 1 + kernel/vbus/client.c | 1 + kernel/vbus/config-ioctl.c | 1 + kernel/vbus/connectors/kvm.c | 1 + kernel/vbus/connectors/null.c | 1 + kernel/vbus/shm-ioq.c | 1 + lib/shm_signal_eventfd.c | 1 + virt/kvm/xinterface.c | 28 +++++++++++++++------------- 8 files changed, 22 insertions(+), 13 deletions(-) -- Signature |
From: Peter M. <pmo...@no...> - 2010-06-25 14:09:09
|
We are please to announce the availability of of AlacrityVM virtual bus and network adapter drivers for Windows 7 x86 virtual machines. For more information, please visit the Alacrity wiki at: http://developer.novell.com/wiki/index.php/AlacrityVM Best Regards, -PWM |
From: Patrick M. <pmu...@no...> - 2010-06-11 20:01:44
|
venet: Event queue overflow is now handled by queuing packets into a list bedore they are queued to the guest on the event ioq. Previously the operation would break down if the ioq depth was exceeded. Signed-off-by: Patrick Mullaney <pmu...@no...> --- drivers/net/vbus-enet.c | 6 +- kernel/vbus/devices/venet/device.c | 121 +++++++++++++++++++++++++++---- kernel/vbus/devices/venet/venetdevice.h | 1 3 files changed, 110 insertions(+), 18 deletions(-) diff --git a/drivers/net/vbus-enet.c b/drivers/net/vbus-enet.c index 338ddf8..995ffea 100644 --- a/drivers/net/vbus-enet.c +++ b/drivers/net/vbus-enet.c @@ -20,6 +20,9 @@ #include <linux/interrupt.h> #include <linux/in.h> +#define DEBUG +#include <linux/device.h> +#undef DEBUG #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/ethtool.h> @@ -42,6 +45,7 @@ MODULE_VERSION("1"); static int rx_ringlen = 256; module_param(rx_ringlen, int, 0444); static int tx_ringlen = 256; +static int evq_ringlen = 128; module_param(tx_ringlen, int, 0444); static int sg_enabled = 1; module_param(sg_enabled, int, 0444); @@ -1356,7 +1360,7 @@ vbus_enet_negcap(struct vbus_enet_priv *priv) if (ret < 0) return ret; - ret = vbus_enet_evq_negcap(priv, tx_ringlen); + ret = vbus_enet_evq_negcap(priv, evq_ringlen); if (ret < 0) return ret; diff --git a/kernel/vbus/devices/venet/device.c b/kernel/vbus/devices/venet/device.c index cc778d1..e84f58d 100644 --- a/kernel/vbus/devices/venet/device.c +++ b/kernel/vbus/devices/venet/device.c @@ -72,6 +72,7 @@ MODULE_PARM_DESC(maxcount, "maximum size for rx/tx ioq ring"); #define L4RO_PAGEQ_ID 104 static void venetdev_tx_isr(struct ioq_notifier *notifier); +static void venetdev_txc_notifier(struct ioq_notifier *notifier); static int venetdev_rx_thread(void *__priv); static int venetdev_tx_thread(void *__priv); @@ -79,7 +80,8 @@ static void evq_send_linkstatus(struct venetdev *priv, bool status); struct _venetdev_skb { struct venetdev *priv; - u64 cookie; + u64 cookie; + struct list_head list; }; static int @@ -150,8 +152,9 @@ venetdev_evq_dpool_init(struct venetdev *priv, } static int -venetdev_evq_queue_init(struct venetdev *priv, - struct vbus_shm *shm, struct shm_signal *signal) +venetdev_evq_queue_init(struct venetdev *priv, struct vbus_shm *shm, + struct shm_signal *signal, + void (*func)(struct ioq_notifier *)) { int ret; @@ -161,7 +164,7 @@ venetdev_evq_queue_init(struct venetdev *priv, if (priv->vbus.evq.queue.queue) return -EEXIST; - ret = venetdev_queue_init(&priv->vbus.evq.queue, shm, signal, NULL); + ret = venetdev_queue_init(&priv->vbus.evq.queue, shm, signal, func); if (ret < 0) return ret; @@ -343,7 +346,7 @@ venetdev_change_mtu(struct net_device *dev, int new_mtu) * --------------------------- */ -static void +static bool evq_send_event(struct venetdev *priv, struct venet_event_header *header, bool signal) { @@ -366,8 +369,10 @@ evq_send_event(struct venetdev *priv, struct venet_event_header *header, ret = ioq_iter_seek(&iter, ioq_seek_tail, 0, 0); BUG_ON(ret < 0); - /* FIXME */ - BUG_ON(!iter.desc->sown); + if (!iter.desc->sown) { + spin_unlock_irqrestore(&priv->vbus.evq.lock, flags); + return true; /* backpressure */ + } offset = (size_t)le64_to_cpu(iter.desc->ptr); ptr = priv->vbus.evq.shm->ptr + offset; @@ -388,6 +393,8 @@ out: if (signal) ioq_signal(ioq, 0); + + return false; } static void @@ -405,7 +412,7 @@ evq_send_linkstatus(struct venetdev *priv, bool status) evq_send_event(priv, &event.header, true); } -static void +static bool evq_send_txc(struct venetdev *priv, u64 cookie) { struct venet_event_txc event = { @@ -417,7 +424,7 @@ evq_send_txc(struct venetdev *priv, u64 cookie) .cookie = cookie, }; - evq_send_event(priv, &event.header, false); + return evq_send_event(priv, &event.header, false); } /* @@ -707,6 +714,7 @@ venetdev_sg_import_copy(struct venetdev *priv, venet_sg_iter_init(&iter, vsg, priv->vbus.ctx); ret = venet_sg_iter_copy(&iter, skb->data, vsg->len); + if (ret) kfree_skb(skb); @@ -871,18 +879,14 @@ venetdev_flat_import(struct venetdev *priv, void *ptr, int len) } static void -venetdev_skb_release(struct sk_buff *skb) +venetdev_skb_complete(struct _venetdev_skb *_skb) { - struct _venetdev_skb *_skb - = (struct _venetdev_skb *)skb_shinfo(skb)->priv; struct venetdev *priv = _skb->priv; unsigned long flags; bool signal = false; spin_lock_irqsave(&priv->lock, flags); - evq_send_txc(priv, _skb->cookie); - if (atomic_dec_and_test(&priv->netif.rxq.outstanding)) /* * We reset the 'completed' count once we successfully drain @@ -914,6 +918,71 @@ venetdev_skb_release(struct sk_buff *skb) kfree(_skb); } +static struct _venetdev_skb* +venetdev_dequeue_txclist(struct venetdev *priv) +{ + struct _venetdev_skb *skb; + unsigned long flags; + spin_lock_irqsave(&priv->vbus.evq.lock, flags); + if (!list_empty(&priv->vbus.evq.txclist)) { + skb = list_first_entry(&priv->vbus.evq.txclist, + struct _venetdev_skb, list); + list_del(&skb->list); + } else { + skb = NULL; + } + spin_unlock_irqrestore(&priv->vbus.evq.lock, flags); + return skb; +} + +static void +venetdev_queue_txclist(struct venetdev *priv, struct _venetdev_skb *skb) +{ + unsigned long flags; + spin_lock_irqsave(&priv->vbus.evq.lock, flags); + list_add_tail(&skb->list, &priv->vbus.evq.txclist); + spin_unlock_irqrestore(&priv->vbus.evq.lock, flags); +} + +static void +venetdev_txc_drain(struct venetdev *priv) +{ + struct _venetdev_skb *_skb; + struct ioq *_ioq = priv->vbus.evq.queue.queue; + + while ((_skb = venetdev_dequeue_txclist(priv))) { + if (evq_send_txc(priv, _skb->cookie)) { + venetdev_queue_txclist(priv, _skb); + ioq_notify_enable(_ioq, 0); + return; + } + venetdev_skb_complete(_skb); + } + ioq_notify_disable(_ioq, 0); +} + +static void +venetdev_txc_notifier(struct ioq_notifier *notifier) +{ + struct venetdev *priv; + + priv = container_of(notifier, struct venetdev, vbus.evq.queue.notifier); + + venetdev_txc_drain(priv); +} + +static void +venetdev_skb_release(struct sk_buff *skb) +{ + struct _venetdev_skb *_skb + = (struct _venetdev_skb *)skb_shinfo(skb)->priv; + struct venetdev *priv = _skb->priv; + + venetdev_queue_txclist(priv, _skb); + + venetdev_txc_drain(priv); +} + /* * default out to netif_rx_ni. */ @@ -943,6 +1012,7 @@ venetdev_rx(struct venetdev *priv) int ret; unsigned long flags; struct vbus_connection *conn; + struct _venetdev_skb *_skb; PDEBUG("polling...\n"); @@ -1034,8 +1104,23 @@ next: ret = ioq_iter_pop(&iter, 0); BUG_ON(ret < 0); - if (txc) - evq_send_txc(priv, cookie); + if (txc && evq_send_txc(priv, cookie)) { + _skb = kzalloc(sizeof(*_skb), GFP_ATOMIC); + if (!_skb) { + printk(KERN_INFO "VENETDEV: " \ + "skb alloc failed: " \ + "memory squeeze.\n"); + priv->netif.stats.tx_dropped++; + kfree_skb(skb); + } else { + _skb->priv = priv; + _skb->cookie = cookie; + + skb_shinfo(skb)->priv = _skb; + venetdev_queue_txclist(priv, _skb); + venetdev_txc_drain(priv); + } + } /* send up to N packets before sending tx-complete */ if (dirty && (!priv->txmitigation @@ -2002,6 +2087,7 @@ venetdev_flushrx(struct venetdev *priv) void venetdev_common_init(struct venetdev *device) { + INIT_LIST_HEAD(&device->vbus.evq.txclist); device->vbus.import = &venetdev_flat_import; device->vbus.export = &venetdev_flat_export; init_waitqueue_head(&device->vbus.rx_empty); @@ -2167,7 +2253,8 @@ venetdev_vlink_shm(struct vbus_connection *conn, case EVQ_DPOOL_ID: return venetdev_evq_dpool_init(priv, shm, signal); case EVQ_QUEUE_ID: - return venetdev_evq_queue_init(priv, shm, signal); + return venetdev_evq_queue_init(priv, shm, signal, + venetdev_txc_notifier); case L4RO_DPOOL_ID: return venetdev_l4ro_dpool_init(priv, shm, signal); case L4RO_PAGEQ_ID: diff --git a/kernel/vbus/devices/venet/venetdevice.h b/kernel/vbus/devices/venet/venetdevice.h index 9e51621..3077f4a 100644 --- a/kernel/vbus/devices/venet/venetdevice.h +++ b/kernel/vbus/devices/venet/venetdevice.h @@ -95,6 +95,7 @@ struct venetdev { spinlock_t lock; struct vbus_shm *shm; struct venetdev_queue queue; + struct list_head txclist; bool enabled; bool linkstate; bool txc; |
From: REAL A. E. <ac...@qi...> - 2010-05-22 02:11:07
|
REAL ASSESORIA ESPAÑA Tel: +34 688 236 252 Fax: +34 911 881 377 Email:rea...@ai... 22-05-2010 ******************* Dear email user (ala...@li...), Real Assesoria España, help you to change the way you live. Arranging a loan with us is simple and straight forward, loans from 5,000 to 2,000,000.00 over 5 to 30 years. We make the process convenient and fast. Our interest rate is 3% APR Typical variable and this means that all of our clients pay this rate. All loan applicant must be able to prove trustworthy and demonstraes ability to repay the loan under the calculated period of time. For Loan and mortgage application, you have to send us the below information to this email rea...@ai...: 1. Your Fulnames 2. Telephone and fax Numbers 3. Country 4. Age 5. Amount Needed. You will be contacted by email or Phone as soon as we receive the above details. Best Regards, Dr. Vicente Sancho. REAL ASSESORIA ESPAÑA Tel: +34 688 236 252 Fax: +34 911 881 377 Email:rea...@ai... |
From: EURO M. L. B. <eas...@an...> - 2010-04-03 23:25:47
|
EURO MILLIONES LOTTERY BOARD. REF. NUMBER: TCC/0204/ESP/971 BATCH NUMBER: 2010/BTH/30046 EMAIL: ala...@li... Dear Email Client, This is to notify you that your email address shown above has won the EURO MILLIONES EASTER LOTTERY Online Computer ballot draw that was hosted in Madrid Spain to comemorated the EASTER CELEBRATION. You have been awarded the prize of 815,000 (EIGHT HUNDRED AND FIFTEEN THOUSAND EUROS) with the Winning information listed above. If you are the accredited owner of this email address [ ala...@li... ], please contact the appointed agent company (GLOBAL GESTORES S. A) with the below requirements including the winning datas above. 1. Fulnames 2. Telephone number 3. Mobile number 4. Fax number 5. Country GLOBAL GESTORES S. A. MR. FERNAND CORTES (claim officer) TEL: +34 672-892-907 FAX: +34 911-820-312 Email: glo...@lu... or glo...@te... All information will be strictly verified by your agent before payment will be carried out. You are hereby obligated abide to instruction. from your agent to avoid processing errors. Congratulations once again from our board of Directors. Mrs. Angela De La Costa EURO MILLIONES BOARD. Madrid, 3rd April . 2010. **************************************************************************************** This email is confidential and is intended solely for the person or Entity that own this email address [ ala...@li... ]. If you have received this message in error, we inform you that the content in it is reserved and unauthorized use is prohibited by law, therefore, please notify us by e-mail. **************************************************************************************** |
From: Patrick M. <pmu...@no...> - 2010-02-26 01:05:13
|
vbus-enet: the backpressure code should initially use sown to check for ring full condition. There is a small window where full=0 and sown=1 until the host clears it int iter_pop. Signed-off-by: Patrick Mullaney <pmu...@no...> --- drivers/net/vbus-enet.c | 23 +++++++++++------------ 1 files changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/net/vbus-enet.c b/drivers/net/vbus-enet.c index 5b579f6..338ddf8 100644 --- a/drivers/net/vbus-enet.c +++ b/drivers/net/vbus-enet.c @@ -798,17 +798,6 @@ vbus_enet_tx_start(struct sk_buff *skb, struct net_device *dev) spin_lock_irqsave(&priv->lock, flags); - if (ioq_full(priv->tx.veq.queue, ioq_idxtype_valid)) { - /* - * We must flow-control the kernel by disabling the - * queue - */ - spin_unlock_irqrestore(&priv->lock, flags); - netif_stop_queue(dev); - dev_err(&priv->dev->dev, "tx on full queue bug\n"); - return 1; - } - if (priv->evq.txc) /* * We only need the inuse index when we use TXC @@ -828,7 +817,17 @@ vbus_enet_tx_start(struct sk_buff *skb, struct net_device *dev) ret = ioq_iter_seek(&iter, ioq_seek_tail, 0, 0); BUG_ON(ret < 0); - BUG_ON(iter.desc->sown); + + if (iter.desc->sown) { + /* + * We must flow-control the kernel by disabling the + * queue + */ + spin_unlock_irqrestore(&priv->lock, flags); + netif_stop_queue(dev); + dev_err(&priv->dev->dev, "tx on full queue bug\n"); + return 1; + } if (priv->sg) { struct venet_sg *vsg = (struct venet_sg *)(unsigned long)iter.desc->cookie; |
From: Jussi M. <jo...@gm...> - 2010-02-25 12:49:50
|
I've been doing some benchmarks with alacrityvm and ran across couple of BUGs. The setup I'm using has two venet-tap/vbus_enet interfaces on the guest which are bridged to two physical interfaces on the host. There's an external machine with two interfaces sending IP traffic which the guest forwards. The kernels on both host and guest were running alacrityvm kernel with last commit b8fbfd1629f43fd3d9ab2819adcdc5c5a287501f The kernel .configs are available at http://sisapiiri.net/~jmaki/vbus/ --- [ 0.163438] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.164008] IP: [<ffffffff8127637b>] __mutex_lock_common+0xcc/0x229 [ 0.164008] PGD 0 [ 0.164008] Oops: 0002 [#1] PREEMPT SMP [ 0.164008] last sysfs file: [ 0.164008] CPU 0 [ 0.164008] Modules linked in: [ 0.164008] Pid: 1, comm: swapper Not tainted 2.6.32.8-alacrityvm #1 [ 0.164008] RIP: 0010:[<ffffffff8127637b>] [<ffffffff8127637b>] __mutex_lock_common+0xcc/0x229 [ 0.164008] RSP: 0018:ffff88001f433e48 EFLAGS: 00010246 [ 0.164008] RAX: 0000000000000000 RBX: ffffffff8145e888 RCX: ffffffff8127621c [ 0.164008] RDX: ffff88001f433e58 RSI: 0000000000000003 RDI: ffffffff8145e88c [ 0.164008] RBP: ffffffff8145e88c R08: 0000000000000000 R09: ffffffff8136e9e0 [ 0.164008] R10: ffff88001f504400 R11: 000000007ffffffc R12: ffff88001f450000 [ 0.164008] R13: ffff88001f432000 R14: 0000000000000002 R15: ffffffff8145e890 [ 0.164008] FS: 0000000000000000(0000) GS:ffff880001600000(0000) knlGS:0000000000000000 [ 0.164008] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 0.164008] CR2: 0000000000000000 CR3: 0000000001001000 CR4: 00000000000006b0 [ 0.164008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 0.164008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 0.164008] Process swapper (pid: 1, threadinfo ffff88001f432000, task ffff88001f450000) [ 0.164008] Stack: [ 0.164008] ffffffff8145e8a0 ffffffff8137a9f8 ffffffff8145e890 0000000000000000 [ 0.164008] <0> ffffffff8135bfa8 0000ffffffff813b ffffffff811acb8f ffffffff8145e888 [ 0.164008] <0> ffffffff8137ac60 0000000000000004 0000000000000004 ffffffff8135bfa8 [ 0.164008] Call Trace: [ 0.164008] [<ffffffff811acb8f>] ? device_create+0x2c/0x31 [ 0.164008] [<ffffffff8127621c>] ? mutex_lock+0x12/0x2b [ 0.164008] [<ffffffff81064c76>] ? vbus_devclass_register+0x19/0x7f [ 0.164008] [<ffffffff81194e69>] ? misc_register+0x107/0x126 [ 0.164008] [<ffffffff813caf31>] ? vbus_admin_init+0x0/0x14 [ 0.164008] [<ffffffff813caf45>] ? venettap_init+0x0/0x14 [ 0.164008] [<ffffffff81009050>] ? do_one_initcall+0x4f/0x149 [ 0.164008] [<ffffffff813b9482>] ? kernel_init+0x14b/0x1a3 [ 0.164008] [<ffffffff8100be7a>] ? child_rip+0xa/0x20 [ 0.164008] [<ffffffff813b9337>] ? kernel_init+0x0/0x1a3 [ 0.164008] [<ffffffff8100be70>] ? child_rip+0x0/0x20 [ 0.164008] Code: f3 90 eb 9a 48 8d 6b 04 4c 8d 7b 08 48 89 ef e8 5d 0c 00 00 48 8b 43 10 48 8d 54 24 10 48 89 44 24 18 48 89 53 10 4c 89 7c 24 10 <48> 89 10 48 83 ca ff 4c 89 64 24 20 48 89 d0 87 03 ff c8 0f 84 [ 0.164008] RIP [<ffffffff8127637b>] __mutex_lock_common+0xcc/0x229 [ 0.164008] RSP <ffff88001f433e48> [ 0.164008] CR2: 0000000000000000 [ 0.196670] ---[ end trace a7919e7f17c0a725 ]--- [ 0.197301] note: swapper[1] exited with preempt_count 3 [ 0.197951] Kernel panic - not syncing: Attempted to kill init! [ 76.307097] ------------[ cut here ]------------ [ 76.307675] kernel BUG at drivers/net/vbus-enet.c:831! [ 76.308008] invalid opcode: 0000 [#1] SMP [ 76.308008] last sysfs file: /sys/devices/virtual/block/dm-1/dm/name [ 76.308008] CPU 0 [ 76.308008] Pid: 0, comm: swapper Not tainted 2.6.33-rc8-alacrityvm #1 / [ 76.308008] RIP: 0010:[<ffffffffa00066c7>] [<ffffffffa00066c7>] vbus_enet_tx_start+0xe5/0x32e [vbus_enet] [ 76.308008] RSP: 0018:ffff880001603a60 EFLAGS: 00010002 [ 76.308008] RAX: ffff880000c481b8 RBX: ffff880001603cc0 RCX: 000000000000000c [ 76.308008] RDX: ffff88001e2c7840 RSI: 0000000000000000 RDI: ffff880001603cc0 [ 76.308008] RBP: ffff88001f4f6180 R08: ffff88001e040a01 R09: 000000000000002e [ 76.308008] R10: dead000000200200 R11: dead000000100100 R12: ffff88001e32cd80 [ 76.308008] R13: ffff88001e32c800 R14: 0000000000000000 R15: 0000000000000286 [ 76.308008] FS: 0000000000000000(0000) GS:ffff880001600000(0000) knlGS:0000000000000000 [ 76.308008] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 76.308008] CR2: 0000003ccbf2b900 CR3: 000000001eb24000 CR4: 00000000000006b0 [ 76.308008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 76.308008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 76.308008] Process swapper (pid: 0, threadinfo ffffffff81344000, task ffffffff81367020) [ 76.308008] Stack: [ 76.308008] ffffea000069a21a 0000003c00000022 0000000000000000 0000000000000000 [ 76.308008] <0> 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 76.308008] <0> 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 76.308008] Call Trace: [ 76.308008] <IRQ> [ 76.308008] [<ffffffff811feacc>] ? dev_hard_start_xmit+0x204/0x2b0 [ 76.308008] [<ffffffff8107f2e9>] ? __slab_alloc+0x2c3/0x347 [ 76.308008] [<ffffffff8120cf06>] ? sch_direct_xmit+0x59/0x158 [ 76.308008] [<ffffffff811fef48>] ? dev_queue_xmit+0x2c5/0x41d [ 76.308008] [<ffffffff81215360>] ? ip_rcv+0x484/0x4bd [ 76.308008] [<ffffffffa0006dc3>] ? vbus_enet_poll+0xa1/0x122 [vbus_enet] [ 76.308008] [<ffffffff811ed29b>] ? eventq_wakeup+0x182/0x18f [ 76.308008] [<ffffffff811fe3ed>] ? net_rx_action+0x71/0x147 [ 76.308008] [<ffffffff8102e9bd>] ? __do_softirq+0x8e/0x115 [ 76.308008] [<ffffffff811ecff5>] ? eventq_intr+0x16/0x20 [ 76.308008] [<ffffffff81002d3c>] ? call_softirq+0x1c/0x28 [ 76.308008] [<ffffffff81004647>] ? do_softirq+0x3f/0x7c [ 76.308008] [<ffffffff81003f5b>] ? do_IRQ+0xa3/0xbc [ 76.308008] [<ffffffff8125b653>] ? ret_from_intr+0x0/0x11 [ 76.308008] <EOI> [ 76.308008] [<ffffffff81017d18>] ? native_safe_halt+0x2/0x3 [ 76.308008] [<ffffffff81008b33>] ? default_idle+0x23/0x3f [ 76.308008] [<ffffffff810012c5>] ? cpu_idle+0x4b/0x80 [ 76.308008] [<ffffffff813aca6d>] ? start_kernel+0x360/0x36b [ 76.308008] [<ffffffff813ac000>] ? early_idt_handler+0x0/0x3 [ 76.308008] [<ffffffff813ac1ad>] ? x86_64_start_kernel+0x10a/0x119 [ 76.308008] Code: c0 79 04 0f 0b eb fe 31 c9 31 d2 31 f6 48 89 df e8 31 bb 12 e1 85 c0 79 04 0f 0b eb fe 48 8b 84 24 78 02 00 00 80 78 19 00 74 04 <0f> 0b eb fe 41 80 bc 24 e0 00 00 00 00 0f 84 72 01 00 00 48 8b [ 76.308008] RIP [<ffffffffa00066c7>] vbus_enet_tx_start+0xe5/0x32e [vbus_enet] [ 76.308008] RSP <ffff880001603a60> [ 76.308008] ---[ end trace 935e50909c36e505 ]--- [ 76.308008] Kernel panic - not syncing: Fatal exception in interrupt [ 76.308008] Pid: 0, comm: swapper Tainted: G D 2.6.33-rc8-alacrityvm #1 [ 76.308008] Call Trace: [ 76.308008] <IRQ> [<ffffffff8125962e>] ? panic+0x78/0x12f [ 76.308008] [<ffffffff8102ac98>] ? kmsg_dump+0xa1/0x145 [ 76.308008] [<ffffffff8100560f>] ? oops_end+0x86/0x95 [ 76.308008] [<ffffffff810038de>] ? do_invalid_op+0x8b/0x95 [ 76.308008] [<ffffffffa00066c7>] ? vbus_enet_tx_start+0xe5/0x32e [vbus_enet] [ 76.308008] [<ffffffff8103e252>] ? hrtimer_interrupt+0x111/0x1bb [ 76.308008] [<ffffffff81002abb>] ? invalid_op+0x1b/0x20 [ 76.308008] [<ffffffffa00066c7>] ? vbus_enet_tx_start+0xe5/0x32e [vbus_enet] [ 76.308008] [<ffffffff811feacc>] ? dev_hard_start_xmit+0x204/0x2b0 [ 76.308008] [<ffffffff8107f2e9>] ? __slab_alloc+0x2c3/0x347 [ 76.308008] [<ffffffff8120cf06>] ? sch_direct_xmit+0x59/0x158 [ 76.308008] [<ffffffff811fef48>] ? dev_queue_xmit+0x2c5/0x41d [ 76.308008] [<ffffffff81215360>] ? ip_rcv+0x484/0x4bd [ 76.308008] [<ffffffffa0006dc3>] ? vbus_enet_poll+0xa1/0x122 [vbus_enet] [ 76.308008] [<ffffffff811ed29b>] ? eventq_wakeup+0x182/0x18f [ 76.308008] [<ffffffff811fe3ed>] ? net_rx_action+0x71/0x147 [ 76.308008] [<ffffffff8102e9bd>] ? __do_softirq+0x8e/0x115 [ 76.308008] [<ffffffff811ecff5>] ? eventq_intr+0x16/0x20 [ 76.308008] [<ffffffff81002d3c>] ? call_softirq+0x1c/0x28 [ 76.308008] [<ffffffff81004647>] ? do_softirq+0x3f/0x7c [ 76.308008] [<ffffffff81003f5b>] ? do_IRQ+0xa3/0xbc [ 76.308008] [<ffffffff8125b653>] ? ret_from_intr+0x0/0x11 [ 76.308008] <EOI> [<ffffffff81017d18>] ? native_safe_halt+0x2/0x3 [ 76.308008] [<ffffffff81008b33>] ? default_idle+0x23/0x3f [ 76.308008] [<ffffffff810012c5>] ? cpu_idle+0x4b/0x80 [ 76.308008] [<ffffffff813aca6d>] ? start_kernel+0x360/0x36b [ 76.308008] [<ffffffff813ac000>] ? early_idt_handler+0x0/0x3 [ 76.308008] [<ffffffff813ac1ad>] ? x86_64_start_kernel+0x10a/0x119 [162027.762753] ------------[ cut here ]------------ [162027.767497] kernel BUG at kernel/vbus/devices/venet/device.c:370! [162027.773725] invalid opcode: 0000 [#1] PREEMPT SMP [162027.778693] last sysfs file: /sys/devices/virtual/net/eth7/address [162027.785010] CPU 2 [162027.787144] Pid: 11165, comm: eth6-rx Not tainted 2.6.33-rc8-alacrityvm #1 AT8050/FYA/AT8050/FYA [162027.796084] RIP: 0010:[<ffffffffa00a5b69>] [<ffffffffa00a5b69>] evq_send_event+0x92/0x13b [venet_tap] [162027.805568] RSP: 0018:ffff88013188bd70 EFLAGS: 00010046 [162027.811008] RAX: ffffc90010c581b8 RBX: ffff8801bd3f6608 RCX: 000000000000000c [162027.818288] RDX: ffff8801bd3f6608 RSI: 0000000000000000 RDI: ffff88013188bd80 [162027.825567] RBP: ffff8801be4339c0 R08: 0000000000000000 R09: 0000000000000000 [162027.832844] R10: 00000000000f0000 R11: 0000000000000000 R12: ffff88013188be50 [162027.840124] R13: ffff8801be433580 R14: ffff88013188bd80 R15: ffff8801be433700 [162027.847402] FS: 0000000000000000(0000) GS:ffff880028280000(0000) knlGS:0000000000000000 [162027.855643] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [162027.861522] CR2: 00000000023eaa10 CR3: 000000013029f000 CR4: 00000000000026e0 [162027.868800] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [162027.876078] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [162027.883358] Process eth6-rx (pid: 11165, threadinfo ffff88013188a000, task ffff880114229e50) [162027.891948] Stack: [162027.894064] ffff880130e34a80 0000000000000246 ffff8801bd3f6608 ffffc90010c58024 [162027.901483] <0> ffff88010000000c ffffc90010c581b8 000000004b8641cc 0000000036a7a3b7 [162027.909374] <0> ffff88013188bfd8 ffff8801be433580 0000000000000001 ffff8801bd3f6548 [162027.917456] Call Trace: [162027.920014] [<ffffffffa00a5dce>] ? venetdev_rx+0x1bc/0x274 [venet_tap] [162027.926768] [<ffffffffa00a714a>] ? venetdev_rx_thread+0xa2/0xc6 [venet_tap] [162027.933957] [<ffffffffa00a70a8>] ? venetdev_rx_thread+0x0/0xc6 [venet_tap] [162027.941063] [<ffffffff81047f31>] ? kthread+0x75/0x7d [162027.946242] [<ffffffff81002e54>] ? kernel_thread_helper+0x4/0x10 [162027.952468] [<ffffffff81047ebc>] ? kthread+0x0/0x7d [162027.957560] [<ffffffff81002e50>] ? kernel_thread_helper+0x0/0x10 [162027.963786] Code: 0e e1 85 c0 79 04 0f 0b eb fe 31 c9 31 d2 31 f6 4c 89 f7 e8 8c aa 0e e1 85 c0 79 04 0f 0b eb fe 48 8b 44 24 28 80 78 19 00 75 04 <0f> 0b eb fe 49 8b 8d 48 04 00 00 48 8b 70 08 4c 8b 41 18 48 8b [162027.984013] RIP [<ffffffffa00a5b69>] evq_send_event+0x92/0x13b [venet_tap] [162027.991133] RSP <ffff88013188bd70> [162027.994739] ---[ end trace 3f88fdd363ed22e2 ]--- [162027.999481] note: eth6-rx[11165] exited with preempt_count 1 [ 650.270587] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 [ 650.278517] IP: [<ffffffffa009f6fe>] events_flush+0x185/0x216 [vbus_kvm] [ 650.285289] PGD 1bdc04067 PUD 130fe7067 PMD 0 [ 650.289821] Oops: 0002 [#1] PREEMPT SMP [ 650.293827] last sysfs file: /sys/devices/virtual/net/eth7/address [ 650.300055] CPU 3 [ 650.302103] Modules linked in: vbus_kvm venet_tap kvm_intel kvm igb ixgbe mdio [last unloaded: scsi_wait_scan] [ 650.312340] Pid: 14, comm: events/3 Not tainted 2.6.32.8-alacrityvm #1 AT8050/FYA [ 650.319878] RIP: 0010:[<ffffffffa009f6fe>] [<ffffffffa009f6fe>] events_flush+0x185/0x216 [vbus_kvm] [ 650.329100] RSP: 0018:ffff8801bf8adde0 EFLAGS: 00010086 [ 650.334454] RAX: ffff88012edd1c00 RBX: ffff8801be9e48c0 RCX: 0000000000000000 [ 650.341644] RDX: 0000000000000000 RSI: ffffffffa009f374 RDI: ffff88012edd1c00 [ 650.348837] RBP: 0000000000000000 R08: ffff88012edd1c08 R09: ffffc90010973790 [ 650.356026] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000282 [ 650.363219] R13: ffff8800282d5d88 R14: fffffffffffffff8 R15: ffff8801be9e4940 [ 650.370409] FS: 0000000000000000(0000) GS:ffff8800282c0000(0000) knlGS:0000000000000000 [ 650.378562] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 650.384354] CR2: 0000000000000008 CR3: 000000012eede000 CR4: 00000000000026e0 [ 650.391543] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 650.398735] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 650.405926] Process events/3 (pid: 14, threadinfo ffff8801bf8ac000, task ffff8801bf84e200) [ 650.414255] Stack: [ 650.416284] ffff8801313450c8 ffffc90010957024 00000000000001f1 ffffc9001095ae58 [ 650.423615] <0> 0000000000000044 ffff8800282d5d80 ffff8801bf84e200 ffff8800282d5d80 [ 650.431417] <0> ffff8801bf84e200 ffff8801bf8ac000 ffff8800282d5d88 ffffffffa009f78f [ 650.439414] Call Trace: [ 650.441883] [<ffffffffa009f78f>] ? eventq_reinject+0x0/0x14 [vbus_kvm] [ 650.448549] [<ffffffff8104c1c1>] ? worker_thread+0x169/0x203 [ 650.454341] [<ffffffff8104fc21>] ? autoremove_wake_function+0x0/0x2a [ 650.460832] [<ffffffff8104c058>] ? worker_thread+0x0/0x203 [ 650.466446] [<ffffffff8104f908>] ? kthread+0x75/0x7d [ 650.471540] [<ffffffff8100bf8a>] ? child_rip+0xa/0x20 [ 650.476717] [<ffffffff8104f893>] ? kthread+0x0/0x7d [ 650.481721] [<ffffffff8100bf80>] ? child_rip+0x0/0x20 [ 650.486899] Code: ce 06 0a a0 31 c0 e8 bf 75 2a e1 4c 89 cf 48 8d 70 18 b9 24 00 00 00 f3 a5 48 c7 c6 74 f3 09 a0 48 8b 48 08 48 8b 50 10 48 89 c7 <48> 89 51 08 48 89 0a 4c 89 40 08 4c 89 40 10 e8 8e f4 0e e1 31 [ 650.507037] RIP [<ffffffffa009f6fe>] events_flush+0x185/0x216 [vbus_kvm] [ 650.513896] RSP <ffff8801bf8adde0> [ 650.517412] CR2: 0000000000000008 [ 650.520756] ---[ end trace 2ad84554f1e96610 ]--- [ 650.525408] note: events/3[14] exited with preempt_count 1 [ 650.531299] ------------[ cut here ]------------ [ 650.536015] WARNING: at lib/kref.c:43 kref_get+0x1b/0x23() [ 650.541599] Hardware name: AT8050/FYA [ 650.545354] Modules linked in: vbus_kvm venet_tap kvm_intel kvm igb ixgbe mdio [last unloaded: scsi_wait_scan] [ 650.555888] Pid: 1392, comm: eth7-rx Tainted: G D 2.6.32.8-alacrityvm #1 [ 650.563403] Call Trace: [ 650.565926] <IRQ> [<ffffffff8103a04f>] ? warn_slowpath_common+0x76/0x8f [ 650.572904] [<ffffffff8118ec08>] ? kref_get+0x1b/0x23 [ 650.578142] [<ffffffffa009f8d6>] ? device_signal_inject+0xe/0x1a [vbus_kvm] [ 650.585312] [<ffffffff81199417>] ? shm_signal_inject+0x39/0x40 [ 650.591340] [<ffffffffa002a614>] ? venetdev_skb_release+0xef/0x102 [venet_tap] [ 650.598767] [<ffffffff812b5bfd>] ? skb_release_data+0xd0/0xe9 [ 650.604701] [<ffffffff812b5901>] ? __kfree_skb+0x11/0x73 [ 650.610205] [<ffffffff812ed205>] ? tcp_v4_do_rcv+0x17c/0x1b7 [ 650.616057] [<ffffffff8103f21a>] ? _local_bh_enable_ip+0x90/0xa2 [ 650.622260] [<ffffffff812c839c>] ? sk_filter+0x6e/0x7a [ 650.627588] [<ffffffff812ee53a>] ? tcp_v4_rcv+0x385/0x577 [ 650.633179] [<ffffffff812d4854>] ? ip_local_deliver+0xa4/0x133 [ 650.639202] [<ffffffff812d4766>] ? ip_rcv+0x4fe/0x548 [ 650.644398] [<ffffffff812bc53e>] ? netif_receive_skb+0x2fd/0x327 [ 650.650599] [<ffffffff8132ecda>] ? br_handle_frame_finish+0xe2/0x11c [ 650.657152] [<ffffffff8132ee76>] ? br_handle_frame+0x162/0x17c [ 650.663176] [<ffffffff812bc450>] ? netif_receive_skb+0x20f/0x327 [ 650.669379] [<ffffffff81348e3d>] ? _spin_unlock_irqrestore+0x20/0x32 [ 650.675929] [<ffffffff812bc5dd>] ? process_backlog+0x75/0xa6 [ 650.681782] [<ffffffff812bcba5>] ? net_rx_action+0x7b/0x17d ------------[ cut here ]------------ [ 133.352390] kernel BUG at drivers/net/vbus-enet.c:155! [ 133.352831] invalid opcode: 0000 [#1] SMP [ 133.352831] last sysfs file: /sys/devices/vbus-proxy/1/net/eth1/address [ 133.352831] CPU 0 [ 133.352831] Pid: 864, comm: dmesg Not tainted 2.6.33-rc8-alacrityvm #1 / [ 133.352831] RIP: 0010:[<ffffffffa000ca22>] [<ffffffffa000ca22>] rxdesc_alloc+0x29/0xa4 [vbus_enet] [ 133.352831] RSP: 0018:ffff880001603e20 EFLAGS: 00010246 [ 133.352831] RAX: 0000000000000000 RBX: ffff880000c54cf8 RCX: ffff880000208600 [ 133.352831] RDX: 0000000000000000 RSI: ffffea00000071c0 RDI: 0000000000000282 [ 133.352831] RBP: 00000000000005ea R08: 000000000000006c R09: ffff880081603c5f [ 133.352831] R10: ffff880001603c60 R11: 000000007ffffff2 R12: ffff88001e7e9d80 [ 133.352831] R13: 0000000000000080 R14: 0000000000000053 R15: ffff8800173833c0 [ 133.352831] FS: 00007fb30659a700(0000) GS:ffff880001600000(0000) knlGS:0000000000000000 [ 133.352831] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 133.352831] CR2: 00007fb3007e7000 CR3: 000000001bb98000 CR4: 00000000000006b0 [ 133.352831] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 133.352831] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 133.352831] Process dmesg (pid: 864, threadinfo ffff88001ad76000, task ffff88001e0062d0) [ 133.352831] Stack: [ 133.352831] ffff88001e7e9d80 ffff88000160fc40 ffff88001e7e9d98 ffffffffa000cddd [ 133.352831] <0> ffff88001e035480 ffff880000c54024 ffff880000000066 ffff880000c54cf8 [ 133.352831] <0> ffff88001ebcd425 ffffffff81455cc0 ffffffff81455cc0 ffff88001e7e9d98 [ 133.352831] Call Trace: [ 133.352831] <IRQ> [ 133.352831] [<ffffffffa000cddd>] ? vbus_enet_poll+0xbb/0x122 [vbus_enet] [ 133.352831] [<ffffffff811fe3ed>] ? net_rx_action+0x71/0x147 [ 133.352831] [<ffffffff8102e9bd>] ? __do_softirq+0x8e/0x115 [ 133.352831] [<ffffffff811ecff5>] ? eventq_intr+0x16/0x20 [ 133.352831] [<ffffffff81002d3c>] ? call_softirq+0x1c/0x28 [ 133.352831] [<ffffffff81004647>] ? do_softirq+0x3f/0x7c [ 133.352831] [<ffffffff81003f5b>] ? do_IRQ+0xa3/0xbc [ 133.352831] [<ffffffff8125b653>] ? ret_from_intr+0x0/0x11 [ 133.352831] <EOI> [ 133.352831] [<ffffffff8125b32d>] ? _raw_spin_unlock_irqrestore+0xa/0x10 [ 133.352831] [<ffffffff81191dc4>] ? uart_write+0xda/0xec [ 133.352831] [<ffffffff8117abff>] ? n_tty_write+0x239/0x354 [ 133.352831] [<ffffffff8117d55a>] ? tty_ldisc_try+0x3c/0x46 [ 133.352831] [<ffffffff8102695c>] ? default_wake_function+0x0/0x11 [ 133.352831] [<ffffffff811791f7>] ? tty_write+0x19e/0x22e [ 133.352831] [<ffffffff8117a9c6>] ? n_tty_write+0x0/0x354 [ 133.352831] [<ffffffff810836e4>] ? vfs_write+0xa0/0xdd [ 133.352831] [<ffffffff810837d4>] ? sys_write+0x45/0x6b [ 133.352831] [<ffffffff81001ec2>] ? system_call_fastpath+0x16/0x1b [ 133.352831] Code: 5f c3 41 54 49 89 fc 55 48 8d 6a 0e 53 ba 20 00 00 00 48 89 f3 48 8b 7f 08 89 ee 83 c6 02 e8 57 b4 1e e1 48 89 c2 48 85 c0 75 04 <0f> 0b eb fe 48 83 80 b0 00 00 00 02 83 80 9c 00 00 00 02 41 80 [ 133.352831] RIP [<ffffffffa000ca22>] rxdesc_alloc+0x29/0xa4 [vbus_enet] [ 133.352831] RSP <ffff880001603e20> [ 133.385978] ---[ end trace 57cb0e56b6d20abc ]--- [ 133.386541] Kernel panic - not syncing: Fatal exception in interrupt [ 133.387245] Pid: 864, comm: dmesg Tainted: G D 2.6.33-rc8-alacrityvm #1 [ 133.388106] Call Trace: [ 133.388382] <IRQ> [<ffffffff8125962e>] ? panic+0x78/0x12f [ 133.389065] [<ffffffff8102ac98>] ? kmsg_dump+0xa1/0x145 [ 133.389690] [<ffffffff8100560f>] ? oops_end+0x86/0x95 [ 133.390267] [<ffffffff810038de>] ? do_invalid_op+0x8b/0x95 [ 133.390923] [<ffffffffa000ca22>] ? rxdesc_alloc+0x29/0xa4 [vbus_enet] [ 133.391657] [<ffffffff810129d4>] ? smp_apic_timer_interrupt+0x88/0x98 [ 133.392382] [<ffffffff81002813>] ? apic_timer_interrupt+0x13/0x20 [ 133.393093] [<ffffffff81002abb>] ? invalid_op+0x1b/0x20 [ 133.393682] [<ffffffffa000ca22>] ? rxdesc_alloc+0x29/0xa4 [vbus_enet] [ 133.394407] [<ffffffffa000cddd>] ? vbus_enet_poll+0xbb/0x122 [vbus_enet] [ 133.395219] [<ffffffff811fe3ed>] ? net_rx_action+0x71/0x147 [ 133.395902] [<ffffffff8102e9bd>] ? __do_softirq+0x8e/0x115 [ 133.396539] [<ffffffff811ecff5>] ? eventq_intr+0x16/0x20 [ 133.397143] [<ffffffff81002d3c>] ? call_softirq+0x1c/0x28 [ 133.397757] [<ffffffff81004647>] ? do_softirq+0x3f/0x7c [ 133.398356] [<ffffffff81003f5b>] ? do_IRQ+0xa3/0xbc [ 133.398905] [<ffffffff8125b653>] ? ret_from_intr+0x0/0x11 [ 133.399527] <EOI> [<ffffffff8125b32d>] ? _raw_spin_unlock_irqrestore+0xa/0x10 [ 133.400360] [<ffffffff81191dc4>] ? uart_write+0xda/0xec [ 133.400945] [<ffffffff8117abff>] ? n_tty_write+0x239/0x354 [ 133.401632] [<ffffffff8117d55a>] ? tty_ldisc_try+0x3c/0x46 [ 133.402255] [<ffffffff8102695c>] ? default_wake_function+0x0/0x11 [ 133.402934] [<ffffffff811791f7>] ? tty_write+0x19e/0x22e [ 133.403550] [<ffffffff8117a9c6>] ? n_tty_write+0x0/0x354 [ 133.404162] [<ffffffff810836e4>] ? vfs_write+0xa0/0xdd [ 133.404799] [<ffffffff810837d4>] ? sys_write+0x45/0x6b [ 133.405384] [<ffffffff81001ec2>] ? system_call_fastpath+0x16/0x1b |
From: Gregory H. <gre...@gm...> - 2010-02-23 13:17:33
|
Hi All, I have created #alacrityvm on OFTC (irc.oftc.net) for live-chat discussions of the project, including user or developer issues. Hope to see you there, -Greg |
From: Gregory H. <gre...@gm...> - 2010-02-19 19:32:59
|
Hi all, FYI, I have created a new git tree to house guest drivers. The honorary first commit goes to the scripts that I have to generate a KMP for linux guests: Here is the linux/README: ----------------------- How to use: 1) make KSRC=./path/to/alacrityvm/linux-2.6.git This results in a .src.rpm being generated, the location of which should be reported by the build tool. For example: "Wrote: /usr/src/packages/SRPMS/alacrityvm-drivers-0.2-1.src.rpm" 2) rpmbuild --rebuild ./path/to/src.rpm For example: rpmbuild --rebuild /usr/src/packages/SRPMS/alacrityvm-drivers-0.2-1.src.rpm ---------------------- I have updated the "repositories" page on the wiki: http://developer.novell.com/wiki/index.php/AlacrityVM/Repositories Kind Regards, -Greg |
From: Gregory H. <gre...@gm...> - 2010-02-19 12:51:37
|
Thank you to Pat Mullaney for forward porting the tree from 31.y to 32.8 and 33-rc8 http://git.kernel.org/?p=linux/kernel/git/ghaskins/alacrityvm/linux-2.6.git;a=summary We have now officially updated the kernel tree "master" to 33-rc8. We also have parallel branches for 2.6.31.y and 2.6.32.y, and plan to maintain 1-2 stable releases behind the latest going forward. Let us know if there are any problems or concerns. -Greg |
From: Dhaval G. <dha...@gm...> - 2010-02-17 20:58:08
|
On Wed, Feb 17, 2010 at 9:26 PM, Patrick Mullaney <pmu...@no...> wrote: > Hi Dhavai, > ( Dhaval :) ) > I am having trouble reproducing this (albeit on a 2.6.33-rc8 kernel) > and I wanted to make sure I was trying correctly. Is that just a ping > flood (ping -f destip) directed at the guest from any other host. > Yep. That is all I was doing. This is based on the .31 kernel. If you have the git sources somewhere, I could look to (potentially) update my sources and see if it is already fixed or not. Thanks, Dhaval -- Ted Turner - "Sports is like a war without the killing." - http://www.brainyquote.com/quotes/authors/t/ted_turner.html |
From: Patrick M. <pmu...@no...> - 2010-02-17 20:27:06
|
Hi Dhavai, I am having trouble reproducing this (albeit on a 2.6.33-rc8 kernel) and I wanted to make sure I was trying correctly. Is that just a ping flood (ping -f destip) directed at the guest from any other host. Thanks. On Wed, 2010-02-17 at 15:45 +0100, Dhaval Giani wrote: > Hi, > > So I have been experimenting about a bit with alacrityvm. One of the > things I have been doing to measure latencies is to flood ping the > guest. This exposes the following BUG/panic in the guest. > > > ------------[ cut here ]------------ > kernel BUG at drivers/net/vbus-enet.c:831! > invalid opcode: 0000 [#1] SMP > last sysfs > file: /sys/devices/pci0000:00/0000:00:01.1/host0/target0:0:0/0:0:0:0/block/sda/size > Modules linked in: sunrpc ipv6 dm_multipath ppdev parport_pc parport > vbus_enet pcspkr i2c_piix4 i2c_core floppy ata_generic pata_acpi [last > unloaded: microcode] > > Pid: 0, comm: swapper Not tainted (2.6.31.6-avm #3) > EIP: 0060:[<f81b4909>] EFLAGS: 00010002 CPU: 0 > EIP is at vbus_enet_tx_start+0xfc/0x373 [vbus_enet] > EAX: c0c49118 EBX: f50c1900 ECX: c0c49118 EDX: 966394d5 > ESI: 00000000 EDI: 00000001 EBP: c1581b8c ESP: c15819dc > DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 > Process swapper (pid: 0, ti=c1580000 task=c1586e60 task.ti=c1580000) > Stack: > 00000246 00000000 f6143000 f6143340 f6330980 c0c48024 00000087 c0c49118 > <0> c1581a3d c1d7d1e2 00000202 00000062 00000000 00000000 00000000 > 00000000 > <0> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > 00000000 > Call Trace: > [<c10437e8>] ? local_bh_enable_ip+0x1c/0x2f > [<c13ec841>] ? _spin_unlock_bh+0x21/0x34 > [<c137052a>] ? __nf_ct_refresh_acct+0xb2/0xca > [<c1043819>] ? local_bh_enable+0x1e/0x31 > [<c13b4936>] ? ipt_do_table+0x472/0x4c4 > [<c1371699>] ? nf_conntrack_in+0x40d/0x4d9 > [<c13b2884>] ? ipv4_confirm+0xf7/0x115 > [<c1352751>] ? dev_hard_start_xmit+0x229/0x2c2 > [<c1364502>] ? __qdisc_run+0xd8/0x1d1 > [<c1352b4c>] ? dev_queue_xmit+0x255/0x35f > [<c138094f>] ? ip_finish_output2+0x1a6/0x1ef > [<c1380a07>] ? ip_finish_output+0x6f/0x84 > [<c1380cf4>] ? ip_output+0x8b/0xa1 > [<c137f875>] ? dst_output+0x1d/0x30 > [<c1380dc9>] ? ip_local_out+0x2c/0x41 > [<c1381027>] ? ip_push_pending_frames+0x249/0x2b8 > [<c139ff00>] ? icmp_push_reply+0xe5/0x101 > [<c13a010f>] ? icmp_reply+0x15c/0x18c > [<c13a0284>] ? icmp_echo+0x62/0x79 > [<c136e45b>] ? nf_iterate+0x57/0x9b > [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af > [<c136e617>] ? nf_hook_slow+0x60/0xc5 > [<c13a0cb2>] ? icmp_rcv+0x1aa/0x1e7 > [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af > [<c137d807>] ? ip_local_deliver_finish+0x11d/0x1af > [<c137d90d>] ? ip_local_deliver+0x74/0x8b > [<c137d2e8>] ? ip_rcv_finish+0x2dd/0x318 > [<c137d539>] ? ip_rcv+0x216/0x257 > [<c1351a49>] ? netif_receive_skb+0x377/0x3a3 > [<f81b58a7>] ? vbus_enet_poll+0x99/0x116 [vbus_enet] > [<c135217e>] ? net_rx_action+0xa2/0x1a6 > [<c10434c6>] ? __do_softirq+0xbc/0x175 > [<c10435c3>] ? do_softirq+0x44/0x61 > [<c10436f2>] ? irq_exit+0x3c/0x80 > [<c10049ed>] ? do_IRQ+0x92/0xb7 > [<c1003630>] ? common_interrupt+0x30/0x38 > [<c10600e0>] ? clockevents_register_device+0x3/0xad > [<c1020914>] ? native_safe_halt+0xa/0xc > [<c1009fd8>] ? default_idle+0x50/0x89 > [<c1001fe1>] ? cpu_idle+0xa1/0xbc > [<c13d884e>] ? rest_init+0x66/0x79 > [<c15c2a68>] ? start_kernel+0x367/0x37d > [<c15c207e>] ? i386_start_kernel+0x7e/0x96 > Code: 5f 85 c0 79 04 0f 0b eb fe 31 c9 31 d2 89 f0 6a 00 e8 6e 6c 03 c9 > 5e 85 c0 79 04 0f 0b eb fe 8b 85 6c fe ff ff 80 78 19 00 74 04 <0f> 0b > eb fe 8b 95 5c fe ff ff 80 7a 7c 00 0f 84 85 01 00 00 8b > EIP: [<f81b4909>] vbus_enet_tx_start+0xfc/0x373 [vbus_enet] SS:ESP > 0068:c15819dc > ---[ end trace 8acfa91da32ae4e3 ]--- > Kernel panic - not syncing: Fatal exception in interrupt > Pid: 0, comm: swapper Tainted: G D 2.6.31.6-avm #3 > Call Trace: > [<c13e9fba>] ? printk+0x22/0x38 > [<c13e9ef6>] panic+0x4b/0xed > [<c13ed40c>] oops_end+0x9f/0xbf > [<c10060ec>] die+0x63/0x7b > [<c13ecc66>] do_trap+0xa0/0xcb > [<c1004215>] ? do_invalid_op+0x0/0xa7 > [<c10042a1>] do_invalid_op+0x8c/0xa7 > [<f81b4909>] ? vbus_enet_tx_start+0xfc/0x373 [vbus_enet] > [<c106176d>] ? tick_program_event+0x34/0x4c > [<c105863f>] ? hrtimer_interrupt+0x14e/0x16f > [<c1043702>] ? irq_exit+0x4c/0x80 > [<c10182a3>] ? smp_apic_timer_interrupt+0x7a/0x99 > [<c13ec9fb>] error_code+0x73/0x78 > [<f81b4909>] ? vbus_enet_tx_start+0xfc/0x373 [vbus_enet] > [<c10437e8>] ? local_bh_enable_ip+0x1c/0x2f > [<c13ec841>] ? _spin_unlock_bh+0x21/0x34 > [<c137052a>] ? __nf_ct_refresh_acct+0xb2/0xca > [<c1043819>] ? local_bh_enable+0x1e/0x31 > [<c13b4936>] ? ipt_do_table+0x472/0x4c4 > [<c1371699>] ? nf_conntrack_in+0x40d/0x4d9 > [<c13b2884>] ? ipv4_confirm+0xf7/0x115 > [<c1352751>] dev_hard_start_xmit+0x229/0x2c2 > [<c1364502>] __qdisc_run+0xd8/0x1d1 > [<c1352b4c>] dev_queue_xmit+0x255/0x35f > [<c138094f>] ip_finish_output2+0x1a6/0x1ef > [<c1380a07>] ip_finish_output+0x6f/0x84 > [<c1380cf4>] ip_output+0x8b/0xa1 > [<c137f875>] dst_output+0x1d/0x30 > [<c1380dc9>] ip_local_out+0x2c/0x41 > [<c1381027>] ip_push_pending_frames+0x249/0x2b8 > [<c139ff00>] icmp_push_reply+0xe5/0x101 > [<c13a010f>] icmp_reply+0x15c/0x18c > [<c13a0284>] icmp_echo+0x62/0x79 > [<c136e45b>] ? nf_iterate+0x57/0x9b > [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af > [<c136e617>] ? nf_hook_slow+0x60/0xc5 > [<c13a0cb2>] icmp_rcv+0x1aa/0x1e7 > [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af > [<c137d807>] ip_local_deliver_finish+0x11d/0x1af > [<c137d90d>] ip_local_deliver+0x74/0x8b > [<c137d2e8>] ip_rcv_finish+0x2dd/0x318 > [<c137d539>] ip_rcv+0x216/0x257 > [<c1351a49>] netif_receive_skb+0x377/0x3a3 > [<f81b58a7>] vbus_enet_poll+0x99/0x116 [vbus_enet] > [<c135217e>] net_rx_action+0xa2/0x1a6 > [<c10434c6>] __do_softirq+0xbc/0x175 > [<c10435c3>] do_softirq+0x44/0x61 > [<c10436f2>] irq_exit+0x3c/0x80 > [<c10049ed>] do_IRQ+0x92/0xb7 > [<c1003630>] common_interrupt+0x30/0x38 > [<c10600e0>] ? clockevents_register_device+0x3/0xad > [<c1020914>] ? native_safe_halt+0xa/0xc > [<c1009fd8>] default_idle+0x50/0x89 > [<c1001fe1>] cpu_idle+0xa1/0xbc > [<c13d884e>] rest_init+0x66/0x79 > [<c15c2a68>] start_kernel+0x367/0x37d > [<c15c207e>] i386_start_kernel+0x7e/0x96 > > > There is also a stack trace that can be seen in the host, but I missed > storing that somewhere. When I next boot that kernel, I will get hold > of that and post it as well. > > Thanks! > Dhaval > > [Apologies in advance in the wordwrap/mailer is broken. webmail is not > necessarily the best to post bug reports from :) ] > |
From: Dhaval G. <dha...@gm...> - 2010-02-17 14:45:34
|
Hi, So I have been experimenting about a bit with alacrityvm. One of the things I have been doing to measure latencies is to flood ping the guest. This exposes the following BUG/panic in the guest. ------------[ cut here ]------------ kernel BUG at drivers/net/vbus-enet.c:831! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/pci0000:00/0000:00:01.1/host0/target0:0:0/0:0:0:0/block/sda/size Modules linked in: sunrpc ipv6 dm_multipath ppdev parport_pc parport vbus_enet pcspkr i2c_piix4 i2c_core floppy ata_generic pata_acpi [last unloaded: microcode] Pid: 0, comm: swapper Not tainted (2.6.31.6-avm #3) EIP: 0060:[<f81b4909>] EFLAGS: 00010002 CPU: 0 EIP is at vbus_enet_tx_start+0xfc/0x373 [vbus_enet] EAX: c0c49118 EBX: f50c1900 ECX: c0c49118 EDX: 966394d5 ESI: 00000000 EDI: 00000001 EBP: c1581b8c ESP: c15819dc DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process swapper (pid: 0, ti=c1580000 task=c1586e60 task.ti=c1580000) Stack: 00000246 00000000 f6143000 f6143340 f6330980 c0c48024 00000087 c0c49118 <0> c1581a3d c1d7d1e2 00000202 00000062 00000000 00000000 00000000 00000000 <0> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Call Trace: [<c10437e8>] ? local_bh_enable_ip+0x1c/0x2f [<c13ec841>] ? _spin_unlock_bh+0x21/0x34 [<c137052a>] ? __nf_ct_refresh_acct+0xb2/0xca [<c1043819>] ? local_bh_enable+0x1e/0x31 [<c13b4936>] ? ipt_do_table+0x472/0x4c4 [<c1371699>] ? nf_conntrack_in+0x40d/0x4d9 [<c13b2884>] ? ipv4_confirm+0xf7/0x115 [<c1352751>] ? dev_hard_start_xmit+0x229/0x2c2 [<c1364502>] ? __qdisc_run+0xd8/0x1d1 [<c1352b4c>] ? dev_queue_xmit+0x255/0x35f [<c138094f>] ? ip_finish_output2+0x1a6/0x1ef [<c1380a07>] ? ip_finish_output+0x6f/0x84 [<c1380cf4>] ? ip_output+0x8b/0xa1 [<c137f875>] ? dst_output+0x1d/0x30 [<c1380dc9>] ? ip_local_out+0x2c/0x41 [<c1381027>] ? ip_push_pending_frames+0x249/0x2b8 [<c139ff00>] ? icmp_push_reply+0xe5/0x101 [<c13a010f>] ? icmp_reply+0x15c/0x18c [<c13a0284>] ? icmp_echo+0x62/0x79 [<c136e45b>] ? nf_iterate+0x57/0x9b [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af [<c136e617>] ? nf_hook_slow+0x60/0xc5 [<c13a0cb2>] ? icmp_rcv+0x1aa/0x1e7 [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af [<c137d807>] ? ip_local_deliver_finish+0x11d/0x1af [<c137d90d>] ? ip_local_deliver+0x74/0x8b [<c137d2e8>] ? ip_rcv_finish+0x2dd/0x318 [<c137d539>] ? ip_rcv+0x216/0x257 [<c1351a49>] ? netif_receive_skb+0x377/0x3a3 [<f81b58a7>] ? vbus_enet_poll+0x99/0x116 [vbus_enet] [<c135217e>] ? net_rx_action+0xa2/0x1a6 [<c10434c6>] ? __do_softirq+0xbc/0x175 [<c10435c3>] ? do_softirq+0x44/0x61 [<c10436f2>] ? irq_exit+0x3c/0x80 [<c10049ed>] ? do_IRQ+0x92/0xb7 [<c1003630>] ? common_interrupt+0x30/0x38 [<c10600e0>] ? clockevents_register_device+0x3/0xad [<c1020914>] ? native_safe_halt+0xa/0xc [<c1009fd8>] ? default_idle+0x50/0x89 [<c1001fe1>] ? cpu_idle+0xa1/0xbc [<c13d884e>] ? rest_init+0x66/0x79 [<c15c2a68>] ? start_kernel+0x367/0x37d [<c15c207e>] ? i386_start_kernel+0x7e/0x96 Code: 5f 85 c0 79 04 0f 0b eb fe 31 c9 31 d2 89 f0 6a 00 e8 6e 6c 03 c9 5e 85 c0 79 04 0f 0b eb fe 8b 85 6c fe ff ff 80 78 19 00 74 04 <0f> 0b eb fe 8b 95 5c fe ff ff 80 7a 7c 00 0f 84 85 01 00 00 8b EIP: [<f81b4909>] vbus_enet_tx_start+0xfc/0x373 [vbus_enet] SS:ESP 0068:c15819dc ---[ end trace 8acfa91da32ae4e3 ]--- Kernel panic - not syncing: Fatal exception in interrupt Pid: 0, comm: swapper Tainted: G D 2.6.31.6-avm #3 Call Trace: [<c13e9fba>] ? printk+0x22/0x38 [<c13e9ef6>] panic+0x4b/0xed [<c13ed40c>] oops_end+0x9f/0xbf [<c10060ec>] die+0x63/0x7b [<c13ecc66>] do_trap+0xa0/0xcb [<c1004215>] ? do_invalid_op+0x0/0xa7 [<c10042a1>] do_invalid_op+0x8c/0xa7 [<f81b4909>] ? vbus_enet_tx_start+0xfc/0x373 [vbus_enet] [<c106176d>] ? tick_program_event+0x34/0x4c [<c105863f>] ? hrtimer_interrupt+0x14e/0x16f [<c1043702>] ? irq_exit+0x4c/0x80 [<c10182a3>] ? smp_apic_timer_interrupt+0x7a/0x99 [<c13ec9fb>] error_code+0x73/0x78 [<f81b4909>] ? vbus_enet_tx_start+0xfc/0x373 [vbus_enet] [<c10437e8>] ? local_bh_enable_ip+0x1c/0x2f [<c13ec841>] ? _spin_unlock_bh+0x21/0x34 [<c137052a>] ? __nf_ct_refresh_acct+0xb2/0xca [<c1043819>] ? local_bh_enable+0x1e/0x31 [<c13b4936>] ? ipt_do_table+0x472/0x4c4 [<c1371699>] ? nf_conntrack_in+0x40d/0x4d9 [<c13b2884>] ? ipv4_confirm+0xf7/0x115 [<c1352751>] dev_hard_start_xmit+0x229/0x2c2 [<c1364502>] __qdisc_run+0xd8/0x1d1 [<c1352b4c>] dev_queue_xmit+0x255/0x35f [<c138094f>] ip_finish_output2+0x1a6/0x1ef [<c1380a07>] ip_finish_output+0x6f/0x84 [<c1380cf4>] ip_output+0x8b/0xa1 [<c137f875>] dst_output+0x1d/0x30 [<c1380dc9>] ip_local_out+0x2c/0x41 [<c1381027>] ip_push_pending_frames+0x249/0x2b8 [<c139ff00>] icmp_push_reply+0xe5/0x101 [<c13a010f>] icmp_reply+0x15c/0x18c [<c13a0284>] icmp_echo+0x62/0x79 [<c136e45b>] ? nf_iterate+0x57/0x9b [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af [<c136e617>] ? nf_hook_slow+0x60/0xc5 [<c13a0cb2>] icmp_rcv+0x1aa/0x1e7 [<c137d6ea>] ? ip_local_deliver_finish+0x0/0x1af [<c137d807>] ip_local_deliver_finish+0x11d/0x1af [<c137d90d>] ip_local_deliver+0x74/0x8b [<c137d2e8>] ip_rcv_finish+0x2dd/0x318 [<c137d539>] ip_rcv+0x216/0x257 [<c1351a49>] netif_receive_skb+0x377/0x3a3 [<f81b58a7>] vbus_enet_poll+0x99/0x116 [vbus_enet] [<c135217e>] net_rx_action+0xa2/0x1a6 [<c10434c6>] __do_softirq+0xbc/0x175 [<c10435c3>] do_softirq+0x44/0x61 [<c10436f2>] irq_exit+0x3c/0x80 [<c10049ed>] do_IRQ+0x92/0xb7 [<c1003630>] common_interrupt+0x30/0x38 [<c10600e0>] ? clockevents_register_device+0x3/0xad [<c1020914>] ? native_safe_halt+0xa/0xc [<c1009fd8>] default_idle+0x50/0x89 [<c1001fe1>] cpu_idle+0xa1/0xbc [<c13d884e>] rest_init+0x66/0x79 [<c15c2a68>] start_kernel+0x367/0x37d [<c15c207e>] i386_start_kernel+0x7e/0x96 There is also a stack trace that can be seen in the host, but I missed storing that somewhere. When I next boot that kernel, I will get hold of that and post it as well. Thanks! Dhaval [Apologies in advance in the wordwrap/mailer is broken. webmail is not necessarily the best to post bug reports from :) ] -- Samuel Goldwyn - "I don't think anyone should write their autobiography until after they're dead." - http://www.brainyquote.com/quotes/authors/s/samuel_goldwyn.html |
From: Gregory H. <gre...@gm...> - 2010-02-09 19:55:15
|
On 2/9/10 10:25 AM, Dhaval Giani wrote: > Index: master/localversion-alacrityvm > =================================================================== > --- /dev/null > +++ master/localversion-alacrityvm > @@ -0,0 +1 @@ > +-alacrityvm Applied, thanks! -Greg |
From: Dhaval G. <dha...@gm...> - 2010-02-09 15:25:21
|
This makes it much easier to distinguish the alacrity kernel from other kernels. Signed-off-by: Dhaval Giani <dha...@gm...> --- localversion-alacrityvm | 1 + 1 file changed, 1 insertion(+) Index: master/localversion-alacrityvm =================================================================== --- /dev/null +++ master/localversion-alacrityvm @@ -0,0 +1 @@ +-alacrityvm |
From: Gregory H. <gha...@no...> - 2010-02-03 16:37:51
|
We currently try to generate an EVQ::LINKSTATE event regardless of the actual state of the EVQ. This can cause a host side oops when the guest does not enable EVQ. Signed-off-by: Gregory Haskins <gha...@no...> --- kernel/vbus/devices/venet/device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/vbus/devices/venet/device.c b/kernel/vbus/devices/venet/device.c index a657707..cc778d1 100644 --- a/kernel/vbus/devices/venet/device.c +++ b/kernel/vbus/devices/venet/device.c @@ -401,7 +401,8 @@ evq_send_linkstatus(struct venetdev *priv, bool status) .state = status ? 1 : 0, }; - evq_send_event(priv, &event.header, true); + if (priv->vbus.evq.linkstate) + evq_send_event(priv, &event.header, true); } static void |
From: Gregory H. <gha...@no...> - 2010-02-03 16:37:38
|
Signed-off-by: Gregory Haskins <gha...@no...> --- include/linux/ioq.h | 6 +++--- include/linux/vbus_pci.h | 24 ++++++++++++------------ include/linux/venet.h | 8 ++++---- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/include/linux/ioq.h b/include/linux/ioq.h index 5bc277e..b66d7fe 100644 --- a/include/linux/ioq.h +++ b/include/linux/ioq.h @@ -51,9 +51,9 @@ *----------- */ struct ioq_ring_desc { - __u64 cookie; /* for arbitrary use by north-side */ - __le64 ptr; - __le64 len; + aligned_u64 cookie; /* for arbitrary use by north-side */ + aligned_le64 ptr; + aligned_le64 len; __u8 valid; __u8 sown; /* South owned = 1, North owned = 0 */ }; diff --git a/include/linux/vbus_pci.h b/include/linux/vbus_pci.h index fe33759..fa160a6 100644 --- a/include/linux/vbus_pci.h +++ b/include/linux/vbus_pci.h @@ -52,40 +52,40 @@ enum { struct vbus_pci_bridge_negotiate { __u32 magic; __u32 version; - __u64 capabilities; + aligned_u64 capabilities; }; struct vbus_pci_deviceopen { __u32 devid; __u32 version; /* device ABI version */ - __u64 handle; /* return value for devh */ + aligned_u64 handle; /* return value for devh */ }; struct vbus_pci_devicecall { - __u64 devh; /* device-handle (returned from DEVICEOPEN */ + aligned_u64 devh; /* device-handle (returned from DEVICEOPEN */ __u32 func; __u32 len; __u32 flags; - __u64 datap; + aligned_u64 datap; }; struct vbus_pci_deviceshm { - __u64 devh; /* device-handle (returned from DEVICEOPEN */ + aligned_u64 devh; /* device-handle (returned from DEVICEOPEN */ __u32 id; __u32 len; __u32 flags; struct { __u32 offset; __u32 prio; - __u64 cookie; /* token to pass back when signaling client */ + aligned_u64 cookie; /* token to pass back when signaling client */ } signal; - __u64 datap; + aligned_u64 datap; }; struct vbus_pci_call_desc { __u32 vector; __u32 len; - __u64 datap; + aligned_u64 datap; }; struct vbus_pci_fastcall_desc { @@ -107,8 +107,8 @@ struct vbus_pci_signals { struct vbus_pci_eventqreg { __u32 count; - __u64 ring; - __u64 data; + aligned_u64 ring; + aligned_u64 data; }; struct vbus_pci_busreg { @@ -126,12 +126,12 @@ enum vbus_pci_eventid { #define VBUS_MAX_DEVTYPE_LEN 128 struct vbus_pci_add_event { - __u64 id; + aligned_u64 id; char type[VBUS_MAX_DEVTYPE_LEN]; }; struct vbus_pci_handle_event { - __u64 handle; + aligned_u64 handle; }; struct vbus_pci_event { diff --git a/include/linux/venet.h b/include/linux/venet.h index b571280..9a90fe7 100644 --- a/include/linux/venet.h +++ b/include/linux/venet.h @@ -55,8 +55,8 @@ struct venet_capabilities { #define VENET_CAP_EVQ_TXC (1 << 1) /* tx-complete */ struct venet_iov { - __u32 len; - __u64 ptr; + __u32 len; + aligned_u64 ptr; }; #define VENET_SG_FLAG_NEEDS_CSUM (1 << 0) @@ -64,7 +64,7 @@ struct venet_iov { #define VENET_SG_FLAG_ECN (1 << 2) struct venet_sg { - __u64 cookie; + aligned_u64 cookie; __u32 flags; __u32 len; /* total length of all iovs */ struct { @@ -114,7 +114,7 @@ struct venet_event_linkstate { struct venet_event_txc { struct venet_event_header header; __u32 txqid; - __u64 cookie; + aligned_u64 cookie; }; struct venet_l4ro_query { |
From: Gregory H. <gha...@no...> - 2010-02-03 16:37:36
|
Gregory Haskins (3): venet: only generate linkstate events when properly enabled vbus: set 8-byte alignment for all u64 objects Make the error message more helpful and not redundant with pci_open() drivers/vbus/pci-bridge.c | 2 +- include/linux/ioq.h | 6 +++--- include/linux/vbus_pci.h | 24 ++++++++++++------------ include/linux/venet.h | 8 ++++---- kernel/vbus/devices/venet/device.c | 3 ++- 5 files changed, 22 insertions(+), 21 deletions(-) |
From: Gregory H. <gha...@no...> - 2010-02-03 16:37:36
|
Signed-off-by: Gregory Haskins <gha...@no...> --- drivers/vbus/pci-bridge.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/vbus/pci-bridge.c b/drivers/vbus/pci-bridge.c index f80601e..58954f6 100644 --- a/drivers/vbus/pci-bridge.c +++ b/drivers/vbus/pci-bridge.c @@ -1017,7 +1017,7 @@ vbus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) */ ret = vbus_pci_eventq_register(); if (ret < 0) { - printk(KERN_ERR "VBUS_PCI: Could not register with host: %d\n", + printk(KERN_ERR "VBUS_PCI: Could not register eventq with host: %d\n", ret); goto out_fail; } |
From: Gregory H. <gre...@gm...> - 2010-02-01 14:50:19
|
On 1/14/10 4:52 PM, Patrick Mullaney wrote: > (Applies to alacrityvm.git/master:a725f9950) > > This series changes the venet macvlan device such that it can > be created via rt netlink and no longer requires any extensive > changes to the macvlan device itself. The first patch removes > prior changes to the macvlan device introduced in the alacrityvm > tree and also implements the changes needed for creation and > management via rt netlink. The subsequent patches(2 and 3) are > changes to the macvlan device for GRO support and for type > specific release. These 2 patches don't appear to be upstream. > If desired and approved, I'll regenerate these last 2 for > net-next. Applied to alacrityvm.git/master. Thanks Pat! > > --- > > Patrick Mullaney (3): > macvlan: use rtnl_link_ops->dellink during unregister notications > macvlan: add GRO bit to features mask > venet-macvlan: allow rt netlink to create venet macvlan devices > > > drivers/net/macvlan.c | 72 ++---- > include/linux/macvlan.h | 6 - > kernel/vbus/devices/venet/device.c | 8 + > kernel/vbus/devices/venet/macvlan.c | 360 ++++++++++++++++++++----------- > kernel/vbus/devices/venet/tap.c | 3 > kernel/vbus/devices/venet/venetdevice.h | 3 > 6 files changed, 265 insertions(+), 187 deletions(-) > |