Thread (1 message) 1 message, 1 author, 2013-11-16

Re: [PATCH] usb: xhci: Link TRB must not occur with a USB payload burst.

From: Ben Hutchings <hidden>
Date: 2013-11-16 01:38:24

On Wed, 2013-11-13 at 16:58 +0000, David Laight wrote:
[...]
quoted
quoted
quoted
quoted
You can split a bulk TD on a 1k boundary and the target won't know the
difference.
The target won't know the difference, but the host will.  Here's an
example: Suppose the driver submits two URBs, each for a data-in
transfer of 32 KB.  You split each URB up into two 16-KB TDs; let's
call them A, B, C, and D (where A and B make up the first URB, and C
and D make up the second URB).
I was thinking about OUT transfers, IN ones are unlikely to be badly
fragmented.
Maybe not for the network stack, but OUT and IN end up equally
fragmented for the storage stack.
But the minimum fragment size is (probably) 4k.
For the network stack an OUT transfer might have a lot (and I mean lots)
of fragments (there may be constraints, and linearising the skb is a option).
[...]

The maximum number of fragments in the skb is going to be 17 (including
the 'head' area).  (I'm ignoring NETIF_F_FRAGLIST which is not normally
supported by physical device drivers.)

I don't know how many fragments that can end up as, at the USB level.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help