Jürgen Keil <> wrote:
>> >> > Maybe the usb host controllers access system memory that
>> >> > frequently, but they don't interrupt 1000 times a second
>> >>
>> >> Performance counter can help to check if CPU has memory access,
>> >> but how to check memory access if it's caused by the DMA from
>> >> USB host controller? If we don't see many interrupts from USB,
>> >> can we say we don't have frequent DMA from USB host controller?
>> >
>> > As far as I understand it, the USB host controller should access
>> > data structures in memory using DMA every millisecond,
>>
>> Is this by hardware automatically or by the software driver?
>
> Pages 31 / 32 in the following document contains a picture
> of the data structures that are used by ehci:
>
> http://www.intel.com/technology/usb/download/ehci-r10.pdf
>
> Software constructs and initializes a tree like data structure,
> and the hardware automatically traverses these
> structures.
>
> Maybe the trick is to disable periodic and async frame lists
> while no usb device is connected, so that the host controller
> doesn't access memory?
> --

okay, this is confirmed by DMA from USB host controller, which
prevent the package to enter deep idle.

I'm open to try any USB driver enhancement to shot this issue down.

Thanks,
-Aubrey
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to