On 5/13/06, David Brownell <[EMAIL PROTECTED]> wrote:
On Thursday 11 May 2006 8:49 am, Christopher Montgomery wrote:
> I also forgot the example of OHCI, which appears to do some/all of the
> actual intraframe scheduling in hardware.  Is it just sending out
> transaction packets in the order they're queued?

Starting 10% into the frame, yes.  Recall that no more than 90% of the
frame's bandwidth may be reserved for periodic transfers.

OK.  The diagrams I've seen have INTR then ISO (adding up to no more
than 90%) then async.  Meh, anyway, same basic concept.

> The ohci driver balances the initial
> transaction scheduling amongst frames, but there's no rebalancing code
> (indeed if OHCI is doing frame scheduling in hardware, there'd be no
> need).

Not true.  We don't need rebalancing because we've never had users
reporting they ran into the bandwidth limitations.  The most demanding
standard use case is that "mouse tree" case.

Illustration: a periodic frame with an INTR, an ISO and another ISO.
The ISO in the middle is unlinked.  The ISO after simply 'collapses
into the slot', that is, it's scheduled immediately after the INTR.
Any now ISO or QH is appended, prepended, whatever, there's no hole.
That's the 'no need for rebalancing' I'm speaking of.  [I'm aware this
might more accurately be referred to as 'rescheduling a frame', but
the Intel ehci docs use the term 'rebalancing' for both resceduling
within a uFrame as well as moving transactions to other periodic
slots.]

But it's easy to create a schedule where software rebalancing is needed.
Consider a schedule with two 400-usec transfers at period=2 ... they'd go
into alternate frames by default.  Now try to add a single transfer of
800-usec, also period=2.  There's enough bandwidth, if the schedule got
rebalanced so both 400-usec transfers went into the same frame.  The
way to get to that schedule from the initial one is to rebalance.

Yes.  We were referring to slightly different things, but your case is
obviously correct.

I'm more worried about bandwidth fragmentation within a given frame
than balancing problems across the schedule (as that's the case
currently preventing my hardware from working), but both obviously
must be considered.

Eventually I'll get all the terminology squared; we've been talking
past each other for much of this (but I greatly appreciate my
questions being answered).

Monty


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to