[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Copy big file from usb disk will hang under Linux when using OHCI in QEMU to do full-virtualization


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx, qemu-devel@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, learn.hu@xxxxxxxxx
  • From: "Steven Hu" <learn.hu@xxxxxxxxx>
  • Date: Tue, 14 Aug 2007 15:21:52 +0800
  • Delivery-date: Fri, 17 Aug 2007 09:59:54 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=QDIGdRs3yMHj0JCwOgp0L0hvSfXb5o0vwvERIHMEQlMKuQSyebLpjQhytXQZ8KvmNeAI5Rg04sfV5z/XaZfouq3Cgzeea6K08JQBVFCGgl1XBVBTH+uTi15qQXeVuBb/EADDhZMWAqGS153hOJffNyYS0Zra0H89mtQZHF7siq4=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hello, all
I found that when use ohci to replace uhci in qemu, it will improve
the performance of USB storage device. The way to do this is making
little change in the file xen-3.1.0-src/tools/ioemu/hw/pc.c . You can
find the patch the in the end of this email.
I have tested it that under Windows XP SP2 and Vista, it can improve
the USB storage performance dramatically.

But when I do  the test under Linux(Fedora Core 5), copy a small file
is OK. But when I copy a big file about 80M, It stopped at about 35M.
It can also succeed to copy sometime.
The kernel message is in the attache file.( I rebuild the kernel and
open the debug option of USB). The kernel version is 2.6.15.
I also found that for newer version Linux, such as Fedorac Core 6 and
Redhat Enterprise 5, it can't recognize the usb disk. There is no USB
event in the kernel message. Ther kernel version is 2.6.18.  Is there
any big changes in the kernel to ohci usb part after kernel 2.6.16?
I am trying to find the root casue of this problem. Does anyone can
give me some hints about the problem? Thanks.

.

--- pc.c.original       2007-08-14 14:04:33.000000000 +0800
+++ pc.c        2007-08-08 08:57:33.000000000 +0800
@@ -897,7 +897,9 @@
         pci_piix4_acpi_init(pci_bus, piix3_devfn + 2);

     if (pci_enabled && usb_enabled) {
-        usb_uhci_init(pci_bus, piix3_devfn + (acpi_enabled ? 3 : 2));
+        //usb_uhci_init(pci_bus, piix3_devfn + (acpi_enabled ? 3 : 2));
+               //usb_ohci_init(pci_bus, 3, -1);
+        usb_ohci_init(pci_bus, 3,piix3_devfn + (acpi_enabled ? 3 : 2));
     }

  #ifndef CONFIG_DM

Attachment: ohci-kernel.log
Description: Binary data

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.