4.5 merge window part 2
The most significant of those features include:
- There is a new restriction on access to memory via /dev/mem:
it can no longer access ranges of memory that have been claimed by a
device driver. The specific purpose is to protect non-volatile memory
arrays, which, due to their size, are relatively easy to hit by
accident, but there are other advantages as well. Someday, perhaps,
/dev/mem will go away entirely, but there are still a few
things that use it now. Note that the first 1MB of memory is
unaffected by this restriction; see the
commit changelog for some more information.
- The kernel's persistent-memory support has, until now, lacked the
ability to properly support direct I/O and DMA to persistent memory.
That has changed in 4.5 with the
merging of proper support for page structures backing up
persistent-memory arrays.
- The libnvdimm (non-volatile memory) layer has gained a bad-block
management layer borrowed from the MD RAID code.
- The XFS filesystem now performs checksum validation of all log entries
before applying them during recovery. That should greatly reduce the
chance of applying corrupted data.
- There is now more extensive accounting of kernel memory allocated via
the slab allocators. At the user level, users will see various kernel
allocations charged against their memory-control-group limits. At the
kernel level, the new SLAB_ACCOUNT and __GFP_ACCOUNT
flags are used to mark allocations that should be charged in this
way. Among others, mm_struct, vm_area_struct,
dentry, and inode structures are all tracked now.
- As described in this article, it is
now possible to increase the range of randomness used for
address-space layout randomization. That might increase the security
of the system, at the possible cost of making huge allocations fail.
- The MADV_FREE option to
madvise(), which has been under development for some
time, has finally been merged. MADV_FREE allows an
application to mark memory that it won't need immediately; the kernel
can then reclaim that memory preferentially if resources are tight.
- User-space mode-setting support, deprecated for years, has finally
been removed from the Radeon driver. With luck, all users have long
since switched to kernel mode-setting.
- New hardware support includes:
- Audio:
Cirrus Logic CS47L24 codecs,
Imagination Technologies audio controllers,
Rockchip rk3036 Inno codecs,
Dialog Semiconductor DA7217 and DA7218 audio codecs,
Texas Instruments pcm3168a codecs,
Pistachio SoC internal digital-to-analog converters,
Realtec RT5616 and 5659 codecs, and
AMD audio coprocessors.
- Graphics:
Panasonic VVX10F034N00 1920x1200 video mode panels and
Sharp LS043T1LE01 qHD video mode panels.
Notably, the "Etnaviv" driver, a free driver for Vivante GPUs,
has finally been merged. The AMD driver has gained PowerPlay
power-management support.
- Industrial I/O:
Memsic MXC6255 orientation-sensing accelerometers,
TI Palmas general-purpose analog-to-digital converters (ADCs),
TI ADS8688 ADCs,
TI INA2xx power monitors,
Freescale IMX7D ADCs,
Freescale MMA7455L/MMA7456L accelerometers,
Maxim MAX30100 heart rate and pulse oximeter sensors, and
AMS iAQ-Core VOC sensors.
- Input:
EETI eGalax serial touchscreens and
Technologic TS-4800 touchscreens.
- Miscellaneous:
STMicroelectronics STM32 DMA controllers,
Mediatek MT81xx SPI NOR flash controllers,
Ingenic JZ4780 NAND flash controllers,
HiSilicon SAS SCSI adapters,
TI LM363X voltage regulators,
TI TPS65086 power regulators,
Powerventure Semiconductor PV88060 and PV88090 voltage regulators,
Cirrus Logic Fractional-N Clock synthesizer/multipliers,
Qualcomm MSM8996 clock controllers,
Epson RX8010SJ realtime clocks, and
Intel P-Unit mailboxes.
- USB:
Mediatek MT65xx host controllers,
Renesas USB3.0 peripheral controllers,
Renesas R-Car generation 3 USB 2.0 PHYs,
Hisilicon hi6220 USB PHYs, and
Moxa UPORT 11x0 serial hubs.
- Watchdog: CSR CSRatlas7 watchdogs, Technologic TS-4800 watchdogs, Alphascale ASM9260 watchdogs, Zodiac RAVE watchdog timers, Sigma Designs SMP86xx/SMP87xx watchdogs, and Mediatek SoC watchdogs.
- Audio:
Cirrus Logic CS47L24 codecs,
Imagination Technologies audio controllers,
Rockchip rk3036 Inno codecs,
Dialog Semiconductor DA7217 and DA7218 audio codecs,
Texas Instruments pcm3168a codecs,
Pistachio SoC internal digital-to-analog converters,
Realtec RT5616 and 5659 codecs, and
AMD audio coprocessors.
Changes visible to kernel developers include:
- A new version of the media
controller API has been merged. As Mauro Carvalho Chehab
described this work in the
pull request: "
The goal is to improve the media controller to allow proper support for other types of Video4Linux devices (radio and TV ones) and to extend the media controller functionality to allow it to be used by other subsystems like DVB, ALSA and IIO.
" Parts of the user-space API remain disabled, though, until 4.6 so some final points can be worked out. - The extensive huge-page reference counting patch set has been merged. The end goal (supporting transparent huge pages in the page cache) has not yet been reached, though.
The most likely day for the closing of the merge window remains
January 24. As usual, we'll cover any final changes that come in
through this merge window in next week's edition.
Index entries for this article | |
---|---|
Kernel | Releases/4.5 |
Posted Jan 21, 2016 18:13 UTC (Thu)
by flussence (guest, #85566)
[Link] (1 responses)
I'm now confused - is the code's documentation wrong, or will the newer driver eventually replace the radeon one for that hardware?
Posted Jan 25, 2016 20:51 UTC (Mon)
by nix (subscriber, #2304)
[Link]
It appears 'PowerPlay' has been retained internally to mean 'the power management engine' or something like that.
Posted Jan 26, 2016 21:41 UTC (Tue)
by willy (subscriber, #9762)
[Link]
AMDGPU?
AMDGPU?
4.5 merge window part 2