Re: Why use PCI express no-snoop option for xhci?

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

 



On 16/03/2013 10:15 PM, Greg KH wrote:
Look at the data on the wire, and notice all of the delay and gaps that
could have been filled with real data, but the protocol involved here
(the "old" usb storage spec) prevents the full use of the xhci
controller.

Now if you actually were able to keep the host controller busy, then I
would guess that the snooping option might actually be noticeable.  But
until you can do that, you can't even see it in the measurements, right?

Snooping is not something that happens on the USB bus. It happens between the memory controller and processor caches. Doing the buffer flush in software does not reduce the load on the memory sub-system, it just reorders its work in time - as well as creating processor load to issue the clflush instructions. If you believe the xHC can max out its upstream PCI express bandwidth, then it's going to be affected by the buffer flush either way. If the buffer is flushed by the snooping mechanism - the PCIe lane may be delayed while the xHC is transferring packet N. If the processor flushes buffer for packet N earlier, then the xHC may be delayed while transmitting packet N-1. There's no reason for believing that in a long sustained transfer anything can be gained by this reordering.

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux