WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] about the network speed is too slow with vtd onXen-3.2

To: "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx>, "Zhang, Li" <li.zhang@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] about the network speed is too slow with vtd onXen-3.2
From: "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>
Date: Mon, 16 Jun 2008 18:45:24 +0800
Delivery-date: Mon, 16 Jun 2008 03:45:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C47C0002.2211E%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <14B8575781A1414FA0D4F6649C4D719001783065@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C47C0002.2211E%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcjPm4dKLeB7n3geS6+A/ud2x1mNgAAAN8coAAAvWdA=
Thread-topic: [Xen-devel] about the network speed is too slow with vtd onXen-3.2
Can we simply remove the gdprintk of "hvm_dpci_eoi"?
For a debug=y build (or we specify "guest_lvl=all" in grub), the message is 
printed too frequently (maybe hundreds of times per second) when an assigned 
E1000 NIC is transmitting data.

diff -r 09dd5492651c xen/drivers/passthrough/io.c
--- a/xen/drivers/passthrough/io.c  Mon Jun 09 17:18:27 2008 +0100
+++ b/xen/drivers/passthrough/io.c  Wed Jun 11 12:20:02 2008 +0800
@@ -253,8 +253,6 @@ void hvm_dpci_eoi(struct domain *d, unsi
     {
         spin_unlock(&hvm_irq_dpci->dirq_lock);

-        gdprintk(XENLOG_INFO VTDPREFIX,
-                 "hvm_dpci_eoi:: mirq = %x\n", machine_gsi);
         stop_timer(&hvm_irq_dpci->hvm_timer[domain_irq_to_vector(d, 
machine_gsi)]);
         if ( (ent == NULL) || !ent->fields.mask )
             pirq_guest_eoi(d, machine_gsi);
diff -r 09dd5492651c xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c   Mon Jun 09 17:18:27 2008 +0100
+++ b/xen/drivers/passthrough/vtd/iommu.c   Wed Jun 11 12:17:46 2008 +0800
@@ -1696,7 +1696,7 @@ static int init_vtd_hw(void)
     {
         iommu = drhd->iommu;
         if ( qinval_setup(iommu) != 0 )
-            dprintk(XENLOG_ERR VTDPREFIX,
+            dprintk(XENLOG_INFO VTDPREFIX,
                     "Queued Invalidation hardware not found\n");
     }

@@ -1704,7 +1704,7 @@ static int init_vtd_hw(void)
     {
         iommu = drhd->iommu;
         if ( intremap_setup(iommu) != 0 )
-            dprintk(XENLOG_ERR VTDPREFIX,
+            dprintk(XENLOG_INFO VTDPREFIX,
                     "Interrupt Remapping hardware not found\n");
     } 

-- Dexuan


-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Keir Fraser
Sent: 2008年6月16日 18:33
To: Zhang, Li; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] about the network speed is too slow with vtd onXen-3.2

Have you considered not printing so much? After passthru is set up you
should only be logging on error conditions.

 -- Keir

On 16/6/08 11:27, "Zhang, Li" <li.zhang@xxxxxxxxx> wrote:

> Hi, Keir
> With 3.2-tree, if we assigned NIC to guest, we copy a file with 'scp'
> command. the speed shows only about 2M in 1000M LAN. It is because that
> when we add the guest_level, too many messages in the serial are
> printed. The patch 17509 of Xen unstable can be ported to this tree to
> fix it. 
> 
> diff -r b39b6ab402ee xen/drivers/char/serial.c
> --- a/xen/drivers/char/serial.c Fri Jun 13 13:59:22 2008 +0100
> +++ b/xen/drivers/char/serial.c Mon Jun 16 17:49:48 2008 +0800
> @@ -14,6 +14,9 @@
>  #include <xen/sched.h>
>  #include <xen/mm.h>
>  #include <xen/serial.h>
> +
> +/* Never drop characters, even if the async transmit buffer fills. */
> +/* #define SERIAL_NEVER_DROP_CHARS 1 */
>  
>  static struct serial_port com[2] = {
>      { .rx_lock = SPIN_LOCK_UNLOCKED, .tx_lock = SPIN_LOCK_UNLOCKED },
> @@ -81,22 +84,24 @@
>  
>  static void __serial_putc(struct serial_port *port, char c)
>  {
> -    int i;
> -
>      if ( (port->txbuf != NULL) && !port->sync )
>      {
>          /* Interrupt-driven (asynchronous) transmitter. */
> +#ifdef SERIAL_NEVER_DROP_CHARS
>          if ( (port->txbufp - port->txbufc) == SERIAL_TXBUFSZ )
>          {
> -            /* Buffer is full: we spin, but could alternatively drop
> chars. */
> +            /* Buffer is full: we spin waiting for space to appear */
> +            int i;
>              while ( !port->driver->tx_empty(port) )
>                  cpu_relax();
>              for ( i = 0; i < port->tx_fifo_size; i++ )
>                  port->driver->putc(
>                      port,
> port->txbuf[MASK_SERIAL_TXBUF_IDX(port->txbufc++)]);
>              port->txbuf[MASK_SERIAL_TXBUF_IDX(port->txbufp++)] = c;
> +            return;
>          }
> -        else if ( ((port->txbufp - port->txbufc) == 0) &&
> +#endif
> +        if ( ((port->txbufp - port->txbufc) == 0) &&
>                    port->driver->tx_empty(port) )
>          {
>              /* Buffer and UART FIFO are both empty. */
> 
> Thanks
> -Li
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel