> >> > 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?
-- 
This message posted from opensolaris.org
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to