qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] ehci update


From: David S. Ahern
Subject: [Qemu-devel] ehci update
Date: Mon, 12 Apr 2010 22:33:00 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4

After a month of code refactoring and clean ups, etc, I thought I would
send along an update. The attached patch is relative to your ehci
branch; I also attached the full usb-ehci.c file for easier reading.

At this point I can get a Windows XP guest to format a 4GB key and read
from and write to it. I can get an FC-12 guest to format a 4GB key and
an 8GB key as well as read from and write to both. Write rates are on
the order of 8 MB/sec for dd:

# dd if=/dev/zero of=test bs=1M count=100 oflag=dsync
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 12.1205 s, 8.7 MB/s

rsync of text files (e.g., /var/log) is on the order of 2MB/sec.

4GB keys are definitely more stable; the 8GB is not recognized by
Windows XP.

It still needs a lot of love, but definitely an improvement from the
last version. The biggest difference for the performance boost and
stability is discovering that the usbfs in linux limits transactions to
16k versus the EHCI spec which allows 20k per qTD. I added a hack to
submit which detects 20k requests from a guest and breaks it up into 2
requests through the host (a 16k and then a 4k).

David

Attachment: ehci-update-04122010.patch
Description: Text document

Attachment: usb-ehci.c
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]