Ο Linus Torvalds γιόρτασε τα 27α γενέθλια του πυρήνα Linux, με την rc της νέας έκδοσης 4.19!

dimitris | Τρί, 08/28/2018 - 00:39 | 17' | 0

O Linus Torvalds ανακοίνωσε την προηγούμενη Κυριακή την κυκλοφορία του πυρήνα Linux 4.19-rc1. Η πρώτη release candidate της επόμενης έκδοσης του πυρήνα του λειουργικού συστήματός μας περιγράφεται από τον ίδιο τον Linus ως “αρκετά μεγάλη κυκλοφορία”, μια και στο διάστημα των τελευταίων δύο εβδομάδων ενσωματώθηκαν πολλά νέα χαρακτηριστικά. Ως συνήθως βέβαια, τα 2/3 των αλλαγών της νέας έκδοσης του Linux αφορούν drivers, ειδικά για κάρτες γραφικών και δικτύου, ενώ οι υπόλοιπες αλλαγές είναι ενημερώσεις αρχιτεκτονικών (το Linux υποστηρίζει πάνω από 30!), συστημάτων αρχείων και δικτύωσης.

Ειδικότερα, η νέα έκδοση θα φέρει ακόμα περισσότερες διορθώσεις για το περίφημο Spectre bug σε x86/POWER/s390, ένα νέο σύστημα αρχείων για το Android (EROFS), έναν οδηγό για βολταζ στο Raspberry Pi, υποστήριξη για το πλήκτρο “Calculator” σε ThinkPad, αλλά και ένα υποσύστημα GPS μέσα στον πυρήνα, το νέο driver framework GASKET της Google, υποστήριξη (μέσω του Freedreno Gallium3D driver) για τη σειρά GPU Adreno 600 στους τελευταίους επεξεργαστές Qualcomm Snapdragon (845, 730 κλπ), διορθωμένη θερμοκρασία για τη σειρά gaming επεξεργαστών Ryzen Threadripper 2900 της AMD, διορθώσεις στο υποσύστημα USB όπου συμπεριλήφθηκε κι ο νέος driver typec_displayport της Intel για USB Type-C DisplayPort (χωρίς όμως ακόμα υποστήριξη για DRM/KMS για εύρεση των σχετικών Type-C συσκευών), virtual kernel mode-setting και πολλά ακόμα.

USB Type-C DisplayPort driver στο Linux 4.19
USB Type-C DisplayPort driver στο Linux 4.19

Αξίζει να σημειωθεί ότι η ανακοίνωση της 4.19-rc1 ήρθε μία μέρα μετά από τα 27α γενέθλια του πυρήνα Linux. Αν δεν το ξέρατε, ήταν στις 25 Αυγούστου 1991, όταν ο Linus Torvalds κάθισε στον υπολογιστή του κάπου στην Φινλανδία και έστειλε το περίφημο μήνυμα, στο comp.os.minix newsgroup, με το οποίο ανακοίνωνε στον κόσμο για πρώτη φορά ότι δουλεύει σε ένα νέο “χομπίστικο” λειτουργικό σύστημα, το οποίο μάλιστα έλεγε ότι δεν είναι τίποτε “μεγάλο ή επαγγελματικό”. Λίγους μήνες αργότερα, στις 5 Οκτωβρίου 1991, ο Linus θα κυκλοφορούσε τον πρώτο δοκιμαστικό κώδικα του project του. Αυτό, δηλαδή, που σήμερα ονομάζουμε πυρήνα Linux. Από κει και μετά, τα γεγονότα που μεταμόρφωσαν το ταπεινό... χόμπι του Linus σε ένα από τα πιο διαδεδομένα λειτουργικά συστήματα του πλανήτη ανήκουν στην ιστορία. Το γεγονός είναι ό,τι ο άνθρωπος γιόρτασε τα 27α γενέθλια του πνευματικού “παιδιού” του κάνοντας merge δεκάδες pull requests για να μας δώσει την 4.19-rc1…

Συνολικά, η έκδοση 4.19-rc1 περιλαμβάνει 12317 commits σε σχέση με την “τωρινή” έκδοση 4.18. Μπορείτε να δείτε ένα γράφημα των commits και των αλλαγών εδώ.

Μάλιστα, o Linus απέρριψε κάποιες νέες λειτουργικότητες  που θεώρησε ότι δεν είναι ακόμα έτοιμες (π.χ. τη νέα δομή δεδομένων XArray που όμως βασιζόταν στο libnvdimm που επίσης δεν ενσωματώθηκε στην 4.19 μια και ο Linus το θεωρεί εντελώς buggy).

Διαβάστε παρακάτω την ανακοίνωση του Linus στη λίστα “Linux-Kernel” για την έκδοση 4.19-rc1:

So two weeks have passed, and the merge window for 4.19 is over.

This was a fairly frustrating merge window, partly because 4.19 looks
to be a pretty big release (no single reason), and partly just due to
random noise. We had the L1TF hw vulnerability disclosure early in the
merge window, which just added the usual frustration due to having
patches that weren't public. That just shows just how good all our
infrastructure for linux-next and various automated testing systems
have become, in how painful it is when it's lacking.

At least we didn't actually have a lot of problems on that front in
the mainline kernel, there seemed to be many more pain points in the
backports.

We also had a report of a TLB shootdown bug come in during this merge
window, and while the patches for ended up not being a huge problem,
TLB invalidation issues is actually one of the things that stresses me
out. They're really nasty to debug (thanks to Jann Horn for
pinpointing this one), and our interfaces to the architecture specific
routines are subtle and pretty complicated. And messy. I think the
discussion will result in a few cleanups later, but timing could have
been so much better for this.

Oh well. I guess I can partly just blame myself for having delayed
4.18 by a week, which just made everything happen during that first
and busiest week of the merge window. Bad luck. Although even the
second week - when things usually calm down - was also pretty busy
this time around.

Anyway, on to the actual changes. And there' a lot of them. There's
just a lot of things going on, and while this isn't the biggest
release we've had (4.9 still keeps that crown), this does join 4.12
and 4.15 as one of the bigger kernel releases, at least just judging
by number of commits in the merge window.

As usual, there's way too many patches to list even in shortlog
format, but appended is my usual "mergelog" of people I merged from
and a one-liner overview of the merge. There's actually a couple of
pull requests that I might still look at after the merge window, but
that are probably in the "there's always the next one" pile.

The "big picture" of the merge window looks pretty normal: just under
two thirds of the changes are to drivers (gpu and network drivers
being the bulk - as usual), with the rest being architecture updates
(all the usual suspects), filesystems, core kernel and networking.
There's a fair chunk of documentation and tooling updates too
(selftests, tracing, perf..).

Anyway, go forth and test,

Linus

---

Al Viro (5):
vfs open-related updates
vfs icache updates
vfs lookup() updates
vfs aio updates
misc vfs updates

Alex Williamson (1):
VFIO updates

Alexandre Belloni (1):
RTC updates

Andreas Gruenbacher (1):
gfs2 updates

Andrew Morton (3):
updates
more updates
yet more updates

Andy Shevchenko (1):
x86 platform driver updates

Anna Schumaker (1):
NFS client updates

Bartlomiej Zolnierkiewicz (1):
fbdev updates

Benson Leung (1):
chrome platform updates

Bjorn Andersson (3):
remoteproc updates
rpmsg updates
hwspinlock updates

Bjorn Helgaas (1):
pci updates

Boris Brezillon (1):
mtd updates

Borislav Petkov (2):
EDAC updates
EDAC fix

Bruce Fields (1):
nfsd updates

Christoph Hellwig (2):
dma-mapping updates
configfs updates

Darrick Wong (3):
fs iomap refactoring
xfs updates
xfs fixes

Dave Airlie (4):
drm updates
drm fixes
drm msm support for adreno a6xx
drm fixes

Dave Jiang (2):
libnvdimm updates
libnvdimm memory-failure update

David Kleikamp (1):
jfs update

David Miller (4):
networking updates
networking fixes
sparc updates
IDE updates

David Sterba (1):
btrfs updates

Dmitry Torokhov (1):
input updates

Dominique Martinet (1):
9p updates

Eduardo Valentin (1):
thermal management updates

Eric Biederman (2):
core signal handling updates
namespace fixes

Geert Uytterhoeven (1):
m68k updates

Greg KH (6):
USB/PHY updates
tty/serial driver updates
staging and IIO updates
char/misc driver updates
driver core updates
UIO fix

Greg Ungerer (1):
m68knommu updates

Guenter Roeck (1):
hwmon updates

Heiko Carstens (1):
s390 updates

Helge Deller (2):
parisc updates
more parisc updates

Herbert Xu (1):
crypto updates

Ilya Dryomov (1):
ceph updates

Jacek Anaszewski (1):
LED updates

Jaegeuk Kim (1):
f2fs updates

James Bottomley (1):
SCSI updates

James Morris (4):
security subsystem updates
smack updates
TPM updates
integrity updates

Jan Kara (2):
UDF and ext2 update
fsnotify updates

Jason Gunthorpe (2):
rdma updates
more rdma updates

Jassi Brar (1):
mailbox updates

Jeff Layton (1):
file locking updates

Jens Axboe (3):
block updates
more block updates
block fixes

Jessica Yu (1):
modules updates

Jiri Kosina (2):
HID updates
livepatching updates

Joerg Roedel (1):
IOMMU updates

John Johansen (1):
apparmor updates

Jonathan Corbet (1):
documentation update

Juergen Gross (2):
xen updates
xen fixes and cleanups

Kees Cook (5):
hardened usercopy updates
pstore update
gcc plugin cleanups
VLA removal leftovers
gcc plugin fix

Lee Jones (2):
MFD updates
backlight updates

Linus Walleij (2):
pin control updates
GPIO updates

Mark Brown (3):
regmap updates
spi updates
regulator updates

Martin Schwidefsky (1):
s390 updates

Masahiro Yamada (4):
Kbuild updates
Kconfig updates
Kconfig consolidation
more Kbuild updates

Matthew Wilcox (1):
IDA updates

Mauro Carvalho Chehab (1):
media updates

Max Filippov (1):
Xtensa updates

Michael Ellerman (2):
powerpc updates
powerpc fixes

Michael Tsirkin (1):
virtio updates

Michal Simek (1):
arch/microblaze updates

Miguel Ojeda (2):
auxdisplay updates
clang-format updates

Mike Marshall (1):
orangefs updates

Mike Snitzer (1):
device mapper updates

Miklos Szeredi (2):
overlayfs updates
fuse update

Olof Johansson (5):
ARM 32-bit SoC platform updates
ARM SoC driver updates
ARM SoC defconfig updates
ARM device-tree updates
ARM SoC late updates

Palmer Dabbelt (2):
RISC-V updates
RISC-V fixes

Paolo Bonzini (2):
first set of KVM updates
second set of KVM updates

Paul Burton (2):
MIPS updates
MIPS fixes

Paul Moore (2):
SELinux updates
audit patches

Petr Mladek (1):
printk updates

Rafael Wysocki (5):
power management updates
ACPI updates
more power management updates
more ACPI updates
ACPI Kconfig fix

Richard Weinberger (2):
UBI/UBIFS updates
UBIFS fix

Rob Herring (1):
Devicetree updates

Russell King (2):
ARM updates
ARM clkdev updates

Sebastian Reichel (1):
power supply and reset updates

Shaohua Li (1):
MD updates

Shuah Khan (1):
Kselftest update

Stafford Horne (1):
OpenRISC update

Stephen Boyd (1):
clk updates

Steve French (2):
cifs updates
cifs fixes

Steven Rostedt (2):
tracing updates
tracing fixes

Takashi Iwai (2):
sound updates
sound fixes

Ted Ts'o (2):
ext4 updates
random updates

Tejun Heo (3):
workqueue updates
cgroup updates
libata updates

Thierry Reding (1):
pwm updates

Thomas Gleixner (32):
debugobjects update
EFI updates
genirq updates
RCU updates
x86 RAS updates
scheduler fix
scheduler updates
CPU hotplug update
locking/atomics update
perf update
timer updates
x86 apic update
x86 boot updates
x86 asm updates
x86 build cleanup
x86 cleanups
x86 cpu updates
x86 dump printing cleanup
x86/hyper-v update
x86 cache QoS (RDT/CAR) updates
x86 platform updates
x86 mm updates
misc x86 fixes
x86 vdso update
x86 PTI updates
x86 timer updates
L1 Terminal Fault fixes
licking update
irq update
x86 fixes
perf updates
timer update

Tony Luck (1):
ia64 NO_BOOTMEM conversion

Ulf Hansson (1):
MMC updates

Vinod Koul (1):
DMAengine updates

Will Deacon (2):
arm64 updates
arm64 fixes

Wim Van Sebroeck (1):
watchdog updates

Wolfram Sang (2):
i2c updates
second i2c update

Yoshinori Sato (1):
arch/h8300 updates

Zhang Rui (1):
thermal management updates

Δώσε αστέρια!

MO: 4 (ψήφοι: 5)