Linus Torvalds “Ima Sheep” released Linux Kernel 4.0 on Sunday:
So I decided to release 4.0 as per the normal schedule, because there really weren’t any known issues, and while I’ll be traveling during the end of the upcoming week due to a college visit, I’m hoping that won’t affect the merge window very much. We’ll see.
Linux 4.0 was a pretty small release both in linux-next and in final size, although obviously “small” is all relative. It’s still over 10k non-merge commits. But we’ve definitely had bigger releases (and judging by linux-next v4.1 is going to be one of the bigger ones).
Which is all good. It definitely matches the “v4.0 is supposed to be a_stable_ release”, and very much not about new experimental features etc. I’m personally so much happier with time-based releases than the bad old days when we had feature-based releases.
That said, there’s a few interesting numerological things going on with 4.0. Looking at just the statistics in git, this release is not just when we cross half a million commits total, but also cross the 4 million git object limit. Interestingly (if you look for numeric patterns), Linux 3.0 was when we crossed a quarter million commits and 2 million git objects, so there’s a nice (and completely unintentional) pattern there when it comes to the kernel git repository.
[ Another quick historical numerological footnote: the old historical BK tree was getting close to the 16-bit commilt limit that BK originally used to have. So that whole “quarter of a million commits” is actually quite a lot. During all of the BK years we only got 65k commits. Of course, we only used BK for three years, and we’ve now been on git for almost exactly ten years, but still – it shows how the whole development process has really sped up a _lot_ ]
Feature-wise, 4.0 doesn’t have all that much special. Much have been made of the new kernel patching infrastructure, but realistically, that not only wasn’t the reason for the version number change, we’ve had much bigger changes in other versions. So this is very much a “solid code progress” release.
Go get it and enjoy,
Linus “we’re all sheep” Torvalds
Linux 3.19 brought improvement to btrfs (raid), the network stack, added ARM Coresight, device tree overlays support, and more.
Some key changes made to Linux 4.0 include:
- pNFS (Parallel NFS), UBIFS, F2FS and BTRFS File Systems improvements
- Live Kernel Patching – Install kernel updates without rebooting
- Intel Quark x86 SoC support
- Various patches to improve Linux running on a Playstation 3
- Open source AMD Radeon driver supports DisplayPort Audio and improves fan support
Some of the new features and improvements specific to the ARM architecture include:
- A20 – PS/2 Controller
- A31 – IR receiver
- A31s – Bring-up sharing majority of drivers with A31, pinctrl driver
- A80 – MMC
- All SoCs – LRADC Input driver, CPUFreq, PWM Driver
- AXP209 power button input driver
- New boards and devices: CSQ CS908, LeMaker Banana Pro, Chuwi V7 CW0825, Rikomagic mk802, Rikomagic mk802ii, Rikomagic mk802_a10s, MarsBoard A10, Hyundai A7HD
- Fixes for rk808 regulator
- Watchdog fix
- Add Rockchip timer for RK3288
- HDMI output enabled on rk3288-firefly and rk3288-evb
- Disable GMAC by default
- Amlogic – pinctrl driver for Amlogic Meson SoCs
- Regulator driver for Mediatek MT6397
- Added watchdog driver
- Added Mediatek MT8173 64-bit processor
- New processors: Exynos 7, Freescale LS2085A, and Tegra 132 (Denver)
- Various fixes for ARM64 including UEFI and KVM code.
- Preparation work for Atmel AT91 support for multiplatform
- Other new platforms – Alphascale ASM9260, Marvell Armada 388, CSR Atlas7, TI Davinci DM816x, Hisilicon HiP01, ST STiH418, and Conexant Digicolor (CX92755).
There has also been some interesting changes for the MIPS architecture:
- Fixes for KVM support
- Support for MIPS R6 processors
- Preliminary support for Cavium Octeon 3 SoCs which feature up to 48 MIPS64 R3 cores with FPU and hardware virtualization
A more detailed changelog for Linux 4.0 will soon be available on Kernelnewbies.org, and once it’s up you may also want to have a look at their ARM architecture and drivers sections for more details about changes related to ARM, MIPS and other platforms. I’ve also generated a complete Linux 3.19 vs Linux 4.0 changelog (3.4MB) with git (comments only, no code).
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
12 Replies to “Linux 4.0 Release – Main Changes, ARM and MIPS Architectures”
Noticed most ARM updates are for chips made in China, hi where are you Qualcomm, TI, Freescale,etc?
Freescale is merging with NXP http://www.nxp.com/news/press-releases/2015/03/nxp-and-freescale-announce-40-billion-merger.html
TI only really produces Cortex M , just a few cortex A and mostly A8 and 1 or A15’s
And Nokia just brought Alcatel-lucent
I’m mainly focusing on the Chinese brands here, but Samsung has quite a few commits with Exynos 7 (new), fixes for Exynos 4412 (odroid), fixes/improvement for USB, UART, etc…
Freescale and TI (search for omap) also have a few changes, that you can find in http://www.cnx-software.com/html/changelog_linux_3.19_vs_linux_4.0.txt. It just take a bit of time to go through all of them.
Wondering if Linux Kernel 4.0 will make it into Android 5.2 or Android 5.3?
Or if Android have to wait for it until the next major Android 6.0 release?
Android will get 3.14 probably not before the end this year maybe even later. The soc manufacturers typically only use LTSI Kernels. Next in line could be 3.18 as it is LTS and and in the Android sources. LTSI tends to use LTE Kernels maintained by Greg (K-H), so I am not sure if you will ever see 3.18 in production ready Android devices.
When it comes to Amlogic SoCs, I can confirm that kernel 4.1-rc4 boots on S802. Of course there are no drivers (except for IR receiver, SPI and maybe some more).
Very little work needed to produce this bootlog: http://pastebin.com/zUTAr9VW
this is person who work on amlogic integration to linux kernel
I know, I didn’t say that it’s mine work 🙂
As far as I know this is your github account 🙂
True. But thats not my point. I downloaded 4.1-rc4 source from kernel.org out of curiosity and with minimal effort I got kernel booting on s802. Small modification to dts and to printk to force output kernel log because uart debug driver does not exist or doesn’t work properly.