Linux 6.2


Linux 6.2 is out. Among its marquee updates are improved Rust-in-kernel support (strings, formatting and printing, memory allocation, macros, etc.), adding TCP Protective Load Balancing (PLB) for IPv6, reducing the overhead of read-copy update (RCU) operations using lazy callbacks, performance and RAID improvements for Btrfs, and userspace support for runtime verification with safety-critical systems. And, of course, support for Apple silicon and Retbleed sucks less on Skylake, but who cares about that around here anyway?

On the Power ISA side, probably the most noteworthy change is official support for big endian ELFv2 kernels. A nice upgrade for our Sir Mix-A-Lot brigade! Another interesting commit is the one to allow compile time support for the lharx and lbarx instructions (present on ISA v2.06/POWER7 and up). The lwarx (32-bit word) and ldarx (64-bit doubleword) load instructions, along with the corresponding store instructions stwcx. and stdcx. (and a conditional branch), are used to implement atomic load-store-compare/exchange operations by placing and checking reservations on particular memory locations. The newer instructions can do this at halfword (short) and byte level respectively (with sthcx. and stbcx.) instead of reserving at least an entire 32-bit word, reducing contention in tightly packed structs. In the future, it might also benefit the newly introduced Power ISA-specific spinlock implementation as well, which is also new in this release.

Expect 6.2 to make it to bleeding edge users and Fedora in the very near future.

Comments

  1. The big endian ELFv2 patch is to allow building the *kernel* as an ELFv2.

    It's been possible to run big endian ELFv2 userspace binaries since ~forever.

    ReplyDelete
    Replies
    1. Thanks, corrected. I don't know what I was thinking when I wrote that.

      Delete
  2. This isn't directly related to Linux 6.2, but is relaated to BE.
    The Powerboard Tyche laptop uses a T2080 CPU, which I've heard has a bugged AltiVec implementation in LE, basically forcing it into BE -- but it still uses a Lexa-based Radeon E9174 GPU, which is handled by amdgpu. I'm wondering what the deal is there, if they've got a patched amdgpu that does CPU-side byte-flipping, or what.
    Additionally, FreeBSD 13.1's patch notes were worded vaguely enough that I kind of wondered if amdgpu had some BE progress as well, but I don't remember seeing ppc64 being a target in freshports.

    On the topic of Linux 6.2, I'm really excited to see all the optimizations... second-hand, as I still don't have the cash for a Blackbird. I'm barely out of my teens, so I feel that's fair. And speaking of being barely out of my teens, I'm personally anticipating the release to come in about 7 minor versions.

    ReplyDelete

Post a Comment

Comments are subject to moderation. Be nice.