Kernel-Log: Was 2.6.28 bringt (9) - Fastboot und andere Überbleibsel
Einige für die nächste Linux-Version integrierte Patches sollen die zum Systemstart benötigte Zeit reduzieren. Außerdem eine Übersicht wichtiger Änderungen, die in der "Was 2.6.28 bringt"-Serie bisher nicht zu Wort gekommen sind.
Die vorangegangenen acht Teile der "Was 2.6.28 bringt"-Serie des Kernel Logs haben einige der bedeutsamsten in 2.6.28 eingeflossenen Änderungen des Linux-Kernels beschrieben. So manche der im Hauptentwicklungszweig vorgenommen Commits passten aber nicht so recht in die bisherigen Artikel der Serie hinein und blieben dadurch unerwähnt; in anderen Fällen nahmen die Kernel-Entwickler noch kleinere, aber dennoch signifikante Änderungen in Bereichen des Kernels vor, nachdem wir über die dortigen Modifikationen bereits berichtet hatten.
Bisher unerwähnt geblieben waren etwa einige von Intel-Entwickler Arjan van de Ven eingebrachte Änderungen, die das Initialisieren der Hardware und so den Boot-Vorgang beschleunigen sollen (u. a. 1, 2, 3, 4). Diese und einige weitere, von Torvalds allerdings zurückgewiesene Änderungen hatte van de Ven bei dem auf der Linux Plumbers Conference gezeigten Netbook eingesetzt, das nur fünf Sekunden zum Start von Linux benötigte. Bei den meisten Systemen dürfte Linux 2.6.28 aber trotz der integrierten Fastboot-Patches nur unwesentlich schneller starten, da gängige Mainstream-Distributionen die meiste Zeit mit dem Initialisieren von Userspace-Diensten sowie dem Laden von Anmelde-Manager und Desktop-Umgebung vertrödeln. Wer dennoch die für die Kernel-Initialisierung benötigte Zeit zu Optimierungszwecken näher analysieren will, kann dabei nun auf die neue, speziell für diesen Zweck eingerichtete Tracing-Infrastruktur zurückgreifen.
Neben dem Kernel Log haben sich indes wieder auch einige Kernel-Entwickler und zahlreiche Online-Medien näher mit den für Linux 2.6.28 aufgenommenen Änderungen beschäftigt. Die Übersicht auf kernelnewbies.org etwa gibt einen gewohnt detaillierten Überblick, während der LWN.net-Gründer und -Leiter Jonathan Corbet im Linux Weather Forecast der Linux Foundation und einem zugehörigen Blog-Eintrag es eher kurz hält; in drei LWN.net-Artikeln geht Corbet allerdings detaillierter auf die Änderungen ein und beschäftigt sich dabei auch mit den für Entwickler wichtigen Anpassungen an den Programmierschnittstellen des Kernels (1, 2, 3). Die wichtigsten Neuerungen im WLAN-Bereich haben die Entwickler des WLAN-Subsystems in ihrem Wiki zusammengefasst. Und das Wiki der FireWire-Entwickler verrät, dass einige für sich betrachtet eher unscheinbare Commmits im FireWire-Subsystem dieses robuster gegen Verbindungsabbrüche machen sollen.
Bereits in den nächsten Tagen dürfte Linux 2.6.28 auch schon erscheinen, nachdem Linus Torvalds vor wenigen Stunden die neunte Vorabversion des Kernels veröffentlichte und dabei ankündigte, dass 2.6.28 ein "Weihnachts-Release" werden wird. ("And btw, I do think that I'll make 2.6.28 be a Christmas release (or Hanukkah, Kwanzaa, Solstice, Insert-Favorite-Holiday, whatever). Because quite frankly, this kind of boredom won't help anything and I'll go stir crazy if I have to do this for another two weeks.") Das normalerweise direkt im Anschluss für zwei Wochen offene Merge Window für die nächste Kernel-Version will er etwas ausdehnen, damit Kernel-Hacker, die über die Feiertage unterwegs sind, genug Zeit haben, um ihre Änderungen zur Aufnahme in die nächste Kernel-Version vorzubereiten und einzusenden.
Zahlreiche weitere wichtige, aber nicht ganz so bedeutsame und bisher nicht erwähnte Änderungen von 2.6.28:
ACPI:
Netzwerk:
- phylib: Add Vitesse VSC8221 SGMII PHY
- phy: Add support for Marvell 88E1118 PHY
- rtl8187 : support for Sitecom WL-168 0001 v4
Dateisysteme:
- autofs4: add miscellaneous device for ioctls
- autofs4: device node ioctl documentation
- CIFS: Add nodfs mount option
- ext4: Fix file fragmentation during large file write.
- ext4: Improve the documentation for ext4's /proc tunables
- ext4: Remove old legacy block allocator
- ext4: Rename ext4dev to ext4
- ext4: Update Documentation/filesystems/ext4.txt
- GFS2: Fix metafs mounts
- GFS2: Support for I/O barriers
- ocfs2: Add extended attribute support
- ocfs2: Enable xattr set in index btree
- ocfs2: POSIX file locks support
- ocfs2: Switch over to JBD2.
- vfs: vfs-level fiemap interface
- XFS: Account for allocated blocks when expanding directories
- XFS: Wait for all I/O on truncate to zero file size
- XFS: XFS: Check for valid transaction headers in recovery
Storage:
- ata: Fix experimental tags
- ahci: Add support for Promise PDC42819
- ide: add generic ATA/ATAPI disk driver
- libata: add whitelist for devices with known good pata-sata bridges
- libata: Avoid overflow in ata_tf_read_block() when tf->hba_lbal > 127
- libata: improve phantom device detection
- libata: pata_cs553*.c: cleanup kernel-doc
- libata: pata_pcmcia: another memory card support
- libata: pata_sch: notice attached slave devices
- libata: switch to using block layer tagging support
- pata_hpt366: no ATAPI DMA
- piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list
- sata_sil24: configure max read request size to 4k
- sata_via: fix support for 5287
- SCSI lpfc 8.2.8 : Add MSI-X support
- SCSI lpfc 8.2.8 : Miscellaneous Bug Fixes
- SCSI lpfc 8.2.8 : Update driver for new SLI-3 features
- SCSI lpfc 8.2.8 v2 : Add statistical reporting control and additional fc vendor events
- SCSI zfcp: attach and release SAN nameserver port on demand
- SCSI zfcp: remove unused references, declarations and flags
- USB: storage: Avoid I/O errors when issuing SCSI ioctls to JMicron USB/ATA bridge
Grafik:
- drm/i915: Filter pci devices based on PCI_CLASS_DISPLAY_VGA
- drm/radeon: map registers at load time
- drm: Remove infrastructure for supporting i915's vblank swapping.
- efifb/imacfb consolidation + hardware support
- fbdev: add new TMIO framebuffer driver
- i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45
- radeonfb: accelerate imageblit and other improvements
- viafb: MAINTAINERS entry
- viafb: Makefile, Kconfig
- viafb: viafbdev.c, viafbdev.h
- viafb: viafb.modes, viafb.txt
- viafb: via_i2c.c, via_i2c.h, viamode.c, viamode.h
- viafb: via_utility.c, via_utility.h, vt1636.c, vt1636.h
Dokumentation:
- Add the development process document
- Add a reference to paper to SubmittingPatches
- Create/use more directory structure in the Documentation/ tree.
- Documentation/kernel-parameters.txt: add min_addr, fix max_addr
- PCI: document the pcie_aspm kernel parameter
- PCI: Document that most pci options are shared between i386 and x86-64
- CFS scheduler: documentation about scheduling policies
- sched: new documentation about CFS
- Document kernel taint flags properly
Verschiedenes rund um Infrastruktur und Architektur-Unterstützung:
- block: add BIG FAT WARNING to CONFIG_DEBUG_BLOCK_EXT_DEVT
- compat: generic compat get/settimeofday
- Configure out AIO support
- cpumask: introduce new API, without changing anything
- cpumask: introduce new API, without changing anything, v3
- cpumask: new API, v2
- crypto: tcrypt - Add alg_test interface
- crypto: tcrypt - Avoid using contiguous pages
- deadline-iosched: allow non-sequential batching
- doc: unevictable LRU and mlocked pages documentation
- driver core: basic infrastructure for per-module dynamic debug messages
- dsa: fix master interface allmulti/promisc handling
- ftrace: add stack tracer
- ftrace: disable tracing on resize
- ftrace: remove daemon
- ftrace: rename FTRACE to FUNCTION_TRACER
- ftrace: update txt document
- genirq: revert dynarray
- KEYS: Make request key instantiate the per-user keyrings
- md: allow extended partitions on md devices.
- md: destroy partitions and notify udev when md array is stopped.
- mfd: Add WM8350 audio register definitions
- MIPS: Add support for NXP PNX833x (STB222/5) into linux kernel
- modules: fix module "notes" kobject leak
- mutex: speed up generic mutex implementations
- netlabel: Add functionality to set the security attributes of a packet
- netlabel: Add network address selectors to the NetLabel/LSM domain mapping
- nohz: disable tick_nohz_kick_tick() for now
- oprofile: Implement Intel architectural perfmon support
- printk: robustify printk
- printk: robustify printk, fix
- printk: robustify printk, fix #2
- printk: robustify printk, update comment
- profiling: dynamically enable readprofile at runtime
- reintroduce accept4
- ring_buffer: implement new locking
- sched: improve sched_clock() performance
- sched: release buddies on yield
- Schedule removal of the legacy i2c device driver binding model
- select: switch select() and poll() over to hrtimers
- SELinux: add boundary support and thread context assignment
- ssb: Fix DMA-API compilation for non-PCI systems
- sysfs: crash debugging
- timers: handle HRTIMER_CB_IRQSAFE_UNLOCKED correctly from softirq context
- tracing, sched: LTTng instrumentation - scheduler
- x86: more general identifier for Phoenix BIOS
- xtensa: Add config files for Diamond 232L - Rev B processor variant
Verschiedene Treiber:
- backlight: add support for Sharp SL-6000 LCD and backlight drivers
- coldfire: scheduled SERIAL_COLDFIRE removal
- crypto: rng - RNG interface and implementation
- dm raid1: separate region_hash interface part1
- HID: add quirk entry for no-name keyboard (0x13ba/0x0017)
- HID: add support for another Gyration remote control
- HID: Add support for Sony Vaio VGX-TP1E
- i2c-i801: Add support for Intel Ibex Peak
- i7300_idle driver v1.55
- IA64 Add Variable Page Size and IA64 Support in Intel IOMMU
- ics932s401: new clock generator chip driver
- ide: Add tx4939ide driver (v6)
- intel-iommu: IA64 support
- leds: Add driver for HP harddisk protection LEDs
- lm85: support adt7468 chips
- mfd: Add WM8350 interrupt support
- mfd: Core support for the WM8350 AudioPlus PMIC
- mfd: Core support for the WM8400 AudioPlus HiFi CODEC and PMU
- mfd: TWL4030 core driver
- mfd: twl4030-gpio driver
- mlx4_core: Add Ethernet PCI device IDs
- mlx4_core: Multiple port type support
- mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC
- regulator: Add WM8350 regulator support
- regulator: Add WM8400 regulator support
- regulator: core - Rework machine API to remove string based functions.
- Remove videobook.tmpl
- sfc: Correct address of gPXE boot configuration in EEPROM
- sis190: add identifier for Atheros AR8021 PHY
- Staging: add poch driver
- xtensa: Add support for the Sonic Ethernet device for the XT2000 board.
- zd1211rw: Add 2 device IDs
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise open:
- 16.12.2008: Was 2.6.28 bringt (8) - Video4Linux/DVB, (Wireless-)USB, Hardware-Monitoring und Eingabegeräte
- 16.12.2008: Was 2.6.28 bringt (7) - Architektur-Unterstützung, Speichersubsystem und Virtualisierung
- 15.12.2008: Was 2.6.28 bringt (6) - Neuerungen bei Audio-Treibern
- 12.12.2008: Neue Kernel-Versionen, Fortschritte bei Btrfs und Tux3
- 20.11.2008: VIA arbeitet mit Open-Source-Entwickler von openChrome zusammen
- 17.11.2008: Neue Grafiktreiber und Linux-Versionen; Dom0-Patches für 2.6.29?
- 13.11.2008: Was 2.6.28 bringt (5) - Neuerungen für Net- und Notebooks
- 10.11.2008: Neue Kernel, offene Audio-Treiber für X-Fi
- 28.10.2008: Video-Kurzinterviews mit Torvalds, Kroah-Hartman und Co.
Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open. (thl)