Re: HEADSUP new usb code coming in.

From: Kevin Oberman <oberman_at_es.net>
Date: Tue, 19 Aug 2008 16:01:36 -0700
> From: Hans Petter Selasky <hselasky_at_c2i.net>
> Date: Tue, 19 Aug 2008 22:44:20 +0200
> 
> On Tuesday 19 August 2008, Kevin Oberman wrote:
> > > Date: Tue, 19 Aug 2008 12:44:13 -0700
> > > From: Alfred Perlstein <alfred_at_freebsd.org>
> > > Sender: owner-freebsd-current_at_freebsd.org
> > >
> > > After a long period of review and testing I am on the verge of
> > > committing Hans Peter's new usb stack to -current.
> > >
> > > The patchset requires a SMALL _493_ line diff to the main code,
> > > mostly bug fixes to arm.  And then a large number of new files
> > > for the usb system.
> > >
> > > The new usb system will be committed as separate files with
> > > the intention of folding them over the old files before the
> > > 9.0 release.
> > >
> > > The diff to the main files is here:
> > > http://mu.org/~bright/usb2/usb2_release_001.diff
> > >
> > > The whole diff, including new files is here:
> > > http://mu.org/~bright/usb2/usb4bsd.diff.gz
> > >
> > > FAQ:
> > > Q. Has this been reviewed?
> > > A. Yes, pretty strongly by myself and we've consulted with
> > > various others, Warner, Scott and Andrew for review/testing.
> > > I wouldn't say that Warner or Scott have given full review
> > > but just about all questions have been answered.
> > >
> > > Q. Can we change the name from "usb2_" to my favorite name?
> > > A. No.   This is for a short period, stop being so annoying.
> > >
> > > Q. What about the old usb code?
> > > A. What about it? :D
> > >
> > > Q. What about ttys?
> > > A. I don't know, we'll address the mpsafe aspects of ttys shortly,
> > > Hans is very responsive to SMP issues.
> > >
> > > Q. Shouldn't you wait?
> > > A. Wait for what?  No.
> > >
> > > Q. I have some whitespace nits, can you do those?
> > > A. No.  It's a 100k line diff and a 3meg delta, we tried really hard
> > > to get all whitespace right, but you're welcome to point things out after
> > > the commit.
> >
> > Cool! I've been waiting for this for a loooooong time. Thanks to you,
> > Hans Peter and all of the folks who have helped!
> >
> > Not on the FAQ:
> >
> > Q: Other then no longer requiring giant [MPSAFE], what does usb2 give
> >    us?  Does it fix the battery-eating on laptops? Does it allow the
> >    system to reach C3 and lower sleep states? (These are at least
> >    closely linked issues.)
> 
> Hi,
> 
> Regarding power save there is no news. But I have been thinking about it, and 
> a simple patch like turning off the ASYNC and SYNC schedules when no devices 
> are plugged is not impossible. Only that it hasn't been done yet, because 
> there is already plenty of USB stuff to do.
> 
> New stuff (all of which I can remember right now):
> 
>   - Full support for Split transactions, which means you can use your full 
> speed USB audio on a high speed USB HUB.
>   - Full support for HS ISOC transactions, which makes writing drivers for 
> various HS webcams possible, for example
>   - Full support for USB on embedded platforms, mostly cache flushing and 
> buffer invalidating stuff.
>   - Safer parsing of USB descriptors.
>   - Autodetect of annoying USB install disks.
>   - Support for USB device side (and a handful of USB device side chips)
>   - Support for USB transfers like I/O vectors, means more throughput and less 
> interrupts.
>   - New UGEN backend and libusb library, finally solves the "driver unloading" 
> problem.
>   - A new USB API.
>   - Many USB drivers are now running Giant free.
>   - Linux USB kernel compat layer.
>   - ... see the FreeBSD quarterly status reports
> 
> --HPS
> 

Very impressive.

Yes, turning off polling when there are no connected devices would help
with the battery drain in that regard, but I don't see how this would
solve the problem of getting to C3 or lower when a USB device is
connected.

I know that Windows once had this problem early in the XP days and they
fixed it in some way. I am not at all expert on USB, so I don't know
at what frequency USB polls, but I would hope it's not so high that a
system can't even get to C3, but with the current stack, C2 is the best
you can get and C2 does not save a lot of power on most systems.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman_at_es.net			Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751

Received on Tue Aug 19 2008 - 21:12:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:34 UTC