From: Lei Xia Date: Mon, 29 Mar 2010 03:21:28 +0000 (-0500) Subject: Minor fix X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=966e433fd935e1ad837960e1b245d8506b2cf515;p=palacios.git Minor fix --- diff --git a/palacios/src/devices/lnx_virtio_nic.c b/palacios/src/devices/lnx_virtio_nic.c index 557d3e8..88d3a59 100644 --- a/palacios/src/devices/lnx_virtio_nic.c +++ b/palacios/src/devices/lnx_virtio_nic.c @@ -248,12 +248,12 @@ static int handle_pkt_tx(struct guest_info *core, struct virtio_net_state * virt } #ifdef CONFIG_VNET_PROFILE - if (virtio_state->pkt_sent % 10000 == 0) - PrintError("Virtio NIC: sent: %ld, rxed: %ld, dropped: %ld\n", + if (virtio_state->pkt_sent % 10000 == 0){ + PrintError("Virtio NIC: sent: %ld, rxed: %ld, dropped: %ld\n", virtio_state->pkt_sent, virtio_state->pkt_recv, virtio_state->pkt_drop); - + } #endif return 0; @@ -559,12 +559,12 @@ static int virtio_rx(uint8_t * buf, uint32_t size, void * private_data) { exit: #ifdef CONFIG_VNET_PROFILE - if (virtio->pkt_recv % 10000 == 0) + if (virtio->pkt_recv % 100000 == 0){ PrintError("Virtio NIC: sent: %ld, rxed: %ld, dropped: %ld\n", - virtio->pkt_sent, - virtio->pkt_recv, - virtio->pkt_drop); - + virtio->pkt_sent, + virtio->pkt_recv, + virtio->pkt_drop); + } #endif v3_unlock_irqrestore(virtio->lock, flags); diff --git a/palacios/src/devices/lnx_virtio_vnet.c b/palacios/src/devices/lnx_virtio_vnet.c index f88bf28..38ef409 100644 --- a/palacios/src/devices/lnx_virtio_vnet.c +++ b/palacios/src/devices/lnx_virtio_vnet.c @@ -301,7 +301,6 @@ exit: vnet_state->pkt_sent, vnet_state->pkt_recv, vnet_state->pkt_drop); - #endif v3_unlock_irqrestore(vnet_state->lock, flags); @@ -349,7 +348,7 @@ static int handle_pkt_kick(struct guest_info *core, struct virtio_vnet_state * v //interrupt the vnet to poll pkts int cpu = V3_Get_CPU(); cpu = (cpu == 0)?1:0; - V3_lapic_send_ipi(cpu, V3_VNET_POLLING_VECTOR); + v3_interrupt_cpu(vnet_state->vm, cpu, V3_VNET_POLLING_VECTOR); if((vnet_state->pkt_sent % (QUEUE_SIZE/20)) == 0) { //optimized for guest's, batch the interrupts if (!(q->avail->flags & VIRTIO_NO_IRQ_FLAG)) { @@ -364,7 +363,6 @@ static int handle_pkt_kick(struct guest_info *core, struct virtio_vnet_state * v vnet_state->pkt_sent, vnet_state->pkt_recv, vnet_state->pkt_drop); - #endif return 0; @@ -374,8 +372,7 @@ static int handle_pkt_kick(struct guest_info *core, struct virtio_vnet_state * v static int handle_rx_kick(struct guest_info *core, struct virtio_vnet_state * vnet_state) { v3_vnet_enable_bridge(); - //PrintError("Enable Bridge\n"); - + return 0; } @@ -671,7 +668,7 @@ static int dev_init(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { virtio_reset(vnet_state); V3_Print("Registering Virtio device as vnet bridge\n"); - v3_vnet_add_bridge(vm, vnet_pkt_input_cb, vnet_pkt_input_xcall, 5, 1000000, (void *)vnet_state); + v3_vnet_add_bridge(vm, vnet_pkt_input_cb, vnet_pkt_input_xcall, 0, 500000, (void *)vnet_state); return 0;