USB2 / usb4bsd nun FreeBSD Standard-USB-Stack

Yamagi

Possessed With Psi Powers
Teammitglied
Gestern Nachmittag wurde USB2 aka usb4bsd in FreeBSD 8.0-CURRENT zum Standard-USB-Stack gemacht. Das bedeutet, dass jedes neugebaute -CURRENT nun mit USB2 ausgeliefert wird. Dies ist der zweite Schritt im Einfügen des Stacks, entgegen früherer Planungen soll Mitte bis Ende März der alte USB-Stack entfernt werden. Sobald das passiert werden die Kerneloptionen des neuen Stacks so verändert, dass dieser den alten ohne manuelle Eingriffe ersetzen kann.

Code:
Date: Sun, 15 Feb 2009 22:33:44 +0000 (UTC)
From: Andrew Thompson <thompsa@FreeBSD.org>
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
        svn-src-head@freebsd.org
Cc:
Subject: svn commit: r188660 - in head: . sys/amd64/conf sys/i386/conf
        sys/ia64/conf sys/pc98/conf sys/powerpc/conf sys/sparc64/conf
        sys/sun4v/conf

Author: thompsa
Date: Sun Feb 15 22:33:44 2009
New Revision: 188660
URL: http://svn.freebsd.org/changeset/base/188660

Log:
  Switch over GENERIC kernels to USB2 by default.

  Tested by:    make universe

Modified:
  head/UPDATING
  head/sys/amd64/conf/GENERIC
  head/sys/i386/conf/GENERIC
  head/sys/ia64/conf/GENERIC
  head/sys/pc98/conf/GENERIC
  head/sys/powerpc/conf/GENERIC
  head/sys/sparc64/conf/GENERIC
  head/sys/sun4v/conf/GENERIC

Modified: head/UPDATING
==============================================================================
--- head/UPDATING       Sun Feb 15 22:18:16 2009        (r188659)
+++ head/UPDATING       Sun Feb 15 22:33:44 2009        (r188660)
@@ -22,6 +22,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
        to maximize performance.  (To disable malloc debugging, run
        ln -s aj /etc/malloc.conf.)

+20090215:
+       The GENERIC kernels for all architectures now default to the new USB2
+       stack. No kernel config options or code have been removed so if a
+       problem arises please report it and optionally revert to the old USB
+       stack. If you are loading USB kernel modules or have a custom kernel
+       that includes GENERIC then ensure that usb names are also changed over,
+       eg uftdi -> usb2_serial_ftdi
+
 20090203:
        The ichsmb(4) driver has been changed to require SMBus slave
        addresses be left-justified (xxxxxxx0b) rather than right-justified.

Modified: head/sys/amd64/conf/GENERIC
==============================================================================
--- head/sys/amd64/conf/GENERIC Sun Feb 15 22:18:16 2009        (r188659)
+++ head/sys/amd64/conf/GENERIC Sun Feb 15 22:33:44 2009        (r188660)
@@ -281,40 +281,96 @@ device            firmware        # firmware assist modul
 # Note that 'bpf' is required for DHCP.
 device         bpf             # Berkeley packet filter

-# USB support
-device         uhci            # UHCI PCI->USB interface
[...]
Code:
I mentioned it in my HEADSUP email to the lists but just to be clear the
current kernel option and module naming is temporary. Once the code is
properly moved in svn then the old naming will resume (ie, usb, ehci,
uftdi).
 
Schade. Wenn 8.0-RELEASE nach Fahrplan erscheint ist die Wartezeit bis im Sommer aber wohl für die meisten Desktop-Benutzer erträglich.

mousaka
 
Naja, ich wäre mit dem Zeitplan immer etwas skeptisch und würde eher auf Spätherbst tippen. ;-)
 
Eher Anfang 2010. Das wären 24 Monate seit FreeBSD 7.0 und damit im Plan. Das 7.0 hatte übrigens auch 6 Monate Verspätung, sollte im Sommer 07 kommen, 18 Monate nach 6.0 und kam dann tatasächlich im Januar 08. Schaut euch doch nur an, was dem 8.0-CURRENT noch an großen Brocken fehlt. Vimage Stufe 3, Jamies Jails Management Framework, afaik auch noch eine TCP/IP-Dinge... :)

Einen MFC gibt es garantiert nicht. Der Eingriff wäre zu groß. Es ist auch sehr, sehr umstritten gewesen das USB2 überhaupt aufzunehmen. Man hat es dann versucht, die Kritiker überzeugt und ist nun auf einem guten Weg...
 
Mahlzeit die Damen und Herren, ich frage mal kurz dazwischen:

Löst der neue USB-Stack das Problem, dass das System nicht mehr terminiert, wenn ein gemountetes USB-Device versehentlich abgezogen wird?
 
Nein. Das "Problem" ist ein gewolltes Verhalten des Buffercaches, hat mit USB gar nichts zu tun. USB ist nur das System wo man das Verhalten am häufigsten beobachtet, da man S-ATA Platten nur selten unbeabsichtigt abklemmt. Wenn ein Buffer ausgeschrieben werden soll und das zugehörige Gerät ist weg, rasselt er durch in panic(). Da das aber immer weniger Benutzern erklärbar ist und zudem in Zeiten hotpluginfähiger Geräte wie S-ATA und SAS Speichersystemen zunehmend unpraktisch wird, sponsert die FreeBSD Foundation ein Projekt den Buffercache entsprechend zu ändern und in diversen Subsystemen ebenfalls Vorkehrungen zu treffen, dass verschwundene Geräte nicht zum Crash führen. Es gab da auch schon Commits, aber frage mich nicht, wie weit die Sache genau ist. Siehe auch: http://www.freebsdfoundation.org/project announcements.shtml
 
Der alte USB-Stack wurde heute gelöscht, nachdem er schon länger nicht mehr mitgebaut wurde. Damit ist dies dunkle Kapitel beendet.
 
Zurück
Oben