Kernel Log: What's coming in 2.6.28 - Part 9: Fastboot and other remainders
The previous eight parts of the kernel log's "What's coming in 2.6.28" series discussed some of the most important changes to the Linux kernel incorporated with 2.6.28. Quite a few of the commits for the main development branch, however, don't really belong to any of the topics discussed in the series so far and as a result, haven't yet been mentioned. In other cases, the kernel developers have made minor, but significant changes to some kernel areas, after we had covered them.
For example, we haven't mentioned some of the changes introduced by Intel developer Arjan van de Ven to speed up hardware initialisation and booting (see 1, 2, 3, 4). Van de Ven used these and several other changes rejected by Linus Torvalds on a netbook that only required five seconds for starting Linux in a demonstration at the Linux Plumbers Conference. With the majority of systems, however, Linux 2.6.28 will start up only marginally faster, despite the fastboot patches, as the popular mainstream distributions waste most of their time initialising userspace services and loading the log-in manager and desktop environment. Those who want to analyse the required kernel initialisation time for optimisation regardless, now have access to a new tracing infrastructure specifically designed for this purpose.
Apart from the heise Kernel Log, several other kernel developers and numerous online media have taken a closer look at the changes incorporated with Linux 2.6.28. The overview at kernelnewbies.org, for example, offers its usual detailed review, while LWN.net founder and executive editor Jonathan Corbet, keeps his summary brief in the Linux Foundation's Linux Weather Forecast and in a relevant blog entry. However, Corbet discusses the changes in more detail in three articles on LWN.net, which also include mention of the changes to the kernel's programming interfaces that are important for developers (1, 2, 3). The developers of the WLAN subsystem have summarised the most important developments in the WLAN area in their wiki. The wiki of the FireWire developers divulges that some, seemingly inconspicuous, commits in the FireWire subsystem are designed to make this subsystem more resilient against connection terminations.
Linux 2.6.28 will probably be out in the next few days, as Linus Torvalds made the kernel's ninth release candidate available a few hours ago, announcing that 2.6.28 will be a "Christmas release". ("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.") Torvalds wants to extend the next kernel version's merge window, which is usually open for the two weeks directly after a new release, to give the kernel hackers that are taking time off during the holidays, enough time to prepare and submit their changes for the next kernel version.
Numerous other important, but not quite as relevant changes in 2.6.28 we haven't discussed so far:
ACPI:
Networks:
- phylib: Add Vitesse VSC8221 SGMII PHY
- phy: Add support for Marvell 88E1118 PHY
- rtl8187 : support for Sitecom WL-168 0001 v4
File Systems:
- 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
Graphics:
- 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
Documentation:
- 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
Miscellaneous infrastructure and architecture support:
- 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
Various drivers:
- 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
Further background and information about developments in the Linux kernel and its environment can also be found in previous issues of the kernel log at heise open:
- Kernel Log: What's coming in 2.6.28 - Part 8: Video4Linux/DVB, (Wireless) USB, hardware monitoring, and input devices
- Kernel Log: What's coming in 2.6.28 - Part 7: architecture support, memory subsystem and virtualisation
- Kernel Log: What's coming in 2.6.28 - Part 6: Changes to the audio drivers
- Kernel Log: New kernel versions, progress with Btrfs and Tux3
- Kernel Log: VIA co-operates with the open source developers of openChrome
- Kernel Log: New graphics drivers and Linux versions: Dom0 patches for 2.6.29?
- Kernel Log: What's coming in 2.6.28 - Part 5: updates for netbooks and notebooks
- Kernel Log: New kernels, open audio drivers for X-Fi
Older Kernel logs can be found in the archives or by using the search function at heise open.
(thl/c't)
(trk)