Re: Question about new TT scheduler

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

 



On Tue, 19 May 2009, [koi8-r] ìÅÏÎÉÄ ìÉÓÏ×ÓËÉÊ wrote:

> Hello all
> 
> I discover that new TT scheduler don't allow transfers longer than 780 uS
> (see
> max_tt_usecs[] in ehci-sched.c) or approx. 1000 bytes as calculated in
> iso_stream_init() for full speed isoc transfer. But, as I can understand
> from usb 2.0 documentation, limit for full speed isoc transfer is 1023
> bytes as of table 5-4 sec 5.6.3. and it take approx. 806 uS

That time includes bit-stuffing.  Without bit-stuffing the value would 
be 692 us or so.

> Also, sec 5.6.4 declares that:
> 
> "The USB requires that no more than 90% of any frame be allocated for
> periodic
> (isochronous and interrupt) transfers for full-speed endpoints. High-speed
> endpoints can allocate at most 80% of a microframe for periodic
> transfers."
> 
> Can somebody explain scheduler limitation of 780 uS? Is it 78% of 1000 uS
> (8 microframes) or 89% of 875 uS (8 microframes minus SOF)?

I'm not certain (since I didn't write the code), but I think 780 is a
bad estimate of: 1000 us * 90% * (6/7).  The (6/7) factor was put in to
account for bit-stuffing, by mistake.  If you do the calculation, the
actual value would be 771, not 780, so maybe this guess is wrong.

> Why old scheduler allow 1023 bytes full speed isoc transfer but new one
> forbid this??

Because the new scheduler has bugs.  You found one of them.

Alan Stern

--
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