[pve-devel] USB Host passthrough high cpu / interupt usage

Stefan Priebe - Profihost AG s.priebe at profihost.ag
Wed Mar 26 13:25:48 CET 2014


Am 26.03.2014 11:25, schrieb Alexandre DERUMIER:
>>> mhm cpu load is lower (while doing nothing than getting serial data at 
>>> 9600 baud) it is now 20% CPU Load instead of 30% before. But that's 
>>> still a lot for stupid serial stuff. 
> 
> I don't know exactly how works serial->usb device, but maybe they send always interrupts, and not only when datas are sent
> 
>>> Do you know if i need to change the 
>>> /usr/share/qemu-server/pve-usb.cfg 
> 
> I'm not sure we need it for usb3, as it's used to defined the usb1(uhci) on top of usb2(ehci) controller.
> (and AFAIK, it's not possible to do usb1->usb3 currently).

Mhm seems it does not change anything also with XHCI the load of the kvm
process is pretty high while the guest itself is idle or seems to be idle.

Stefan


> 
> ----- Mail original ----- 
> 
> De: "Stefan Priebe - Profihost AG" <s.priebe at profihost.ag> 
> À: "Alexandre DERUMIER" <aderumier at odiso.com> 
> Cc: pve-devel at pve.proxmox.com 
> Envoyé: Mercredi 26 Mars 2014 11:04:17 
> Objet: Re: [pve-devel] USB Host passthrough high cpu / interupt usage 
> 
> Am 26.03.2014 10:49, schrieb Alexandre DERUMIER: 
>>>> At least i could hack QemuServer.pm and try it before doing any real patch. 
>>
>> Yes! 
> 
> mhm cpu load is lower (while doing nothing than getting serial data at 
> 9600 baud) it is now 20% CPU Load instead of 30% before. But that's 
> still a lot for stupid serial stuff. 
> 
> But latency is still very high now 120ms. 
> 
>>>> Is it just replacing uhci with xhci all the time? 
>> mmm,I'm not sure, because xhci don't support usb1 hub. (currently usb2 controller avec 1 usb1 controller plugged into it) 
>>
>> doc is here: 
>> http://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb2.txt;hb=HEAD 
>>
>>
>> maybe simply add a new controller: 
>> -device nec-usb-xhci,id=xhci.... 
>>
>>
>> then change bus=xhci.0 in usb devices 
> 
> Yes did it that way. 
> 
>>
>>>> Does the machine type (pc vs q35) makes any difference? 
>> Don't known for usb. I known that q35 should improve pci express support in guest. 
> 
> will try that too. 
> 
> Do you know if i need to change the 
> /usr/share/qemu-server/pve-usb.cfg 
> 
> file? 
> 
> Stefan 
> 
> 
>>
>> ----- Mail original ----- 
>>
>> De: "Stefan Priebe - Profihost AG" <s.priebe at profihost.ag> 
>> À: "Alexandre DERUMIER" <aderumier at odiso.com> 
>> Cc: pve-devel at pve.proxmox.com 
>> Envoyé: Mercredi 26 Mars 2014 09:57:56 
>> Objet: Re: [pve-devel] USB Host passthrough high cpu / interupt usage 
>>
>>
>> Am 26.03.2014 08:47, schrieb Alexandre DERUMIER: 
>>> Hi Stefan, 
>>>
>>> Do you see interrupts only when data transfer occur ? 
>>
>> Not really sure how to check as data transfer occours all the time. 
>>
>>
>>> I known that qemu usb3 implementation use less interrupts, 
>>> maybe could we try to implemented it in proxmox. (xhci controller) 
>>> (should not be a big task) 
>>
>> At least i could hack QemuServer.pm and try it before doing any real patch. 
>>
>> Is it just replacing uhci with xhci all the time? Does the machine type 
>> (pc vs q35) makes any difference? 
>>
>> Stefan 
>>
>>
>>> ----- Mail original ----- 
>>>
>>> De: "Stefan Priebe" <s.priebe at profihost.ag> 
>>> À: pve-devel at pve.proxmox.com 
>>> Envoyé: Mardi 25 Mars 2014 23:07:48 
>>> Objet: [pve-devel] USB Host passthrough high cpu / interupt usage 
>>>
>>> Hi, 
>>>
>>> i'm trying to pass through 5 usb devices from the host to the guest. 
>>> What i'm wondering is the very high interupt and cpu usage of the guest. 
>>>
>>> These usb devices i'm passing are just tty / serial ones - so the data 
>>> transfer is VERY low. 
>>>
>>> Does anybody habe an idea? Latency for USB data is also very high around 
>>> 130ms. 
>>>
>>> Stefan 
>>> _______________________________________________ 
>>> pve-devel mailing list 
>>> pve-devel at pve.proxmox.com 
>>> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 
>>>



More information about the pve-devel mailing list