Language Selection

English French German Italian Portuguese Spanish

Kernel: LWN Articles and F2FS in Linux 5.17

Filed under
  • VSTATUS, with or without SIGINFO []

    The Unix signal interface is complex and hard to work with; some developers have argued that its design is "unfixable". So when Walt Drummond proposed increasing the number of signals that Linux systems could manage, eyebrows could be observed at increased altitude across the Internet. The proposed increase seems unlikely to happen, but the underlying goal — to support a decades-old feature from other operating systems — may yet become a reality.

    The kernel is able to support up to 64 different signal types, which seems like a fair number, but all 64 are taken, on some architectures at least. That makes it impossible to add new signal types to Linux. Drummond sought to address that problem by raising the limit to 1024, which would surely be enough for all time. Raising the limit requires making some subtle changes to the user-space API (putting a larger signal mask into the information passed to realtime signal handlers, for example) that have the possibility of breaking applications, which means that extra scrutiny would be required. But that, it seems, is what would be needed to be able to add more signals.

  • Fixing a corner case in asymmetric CPU packing []

    Linux supports processor architectures where CPUs in the same system might have different processing capacities; for example, the Arm big.LITTLE systems combine fast, power-hungry CPUs with slower, more efficient ones. Linux has also run for years on simultaneous multithreading (SMT) architectures, where one CPU executes multiple independent execution threads and is seen as if it were multiple cores. There are architectures that mix both approaches. A recent discussion on a patch set submitted by Ricardo Neri shows that, on these systems, the scheduler might distribute tasks in an inefficient way.

  • Some 5.16 kernel development statistics

    The 5.16 kernel was released on January 9, as expected. This development cycle incorporated 14,190 changesets from 1,988 developers; it was thus quite a bit busier than its predecessor, and fairly typical for recent kernel releases in general. A new release means that the time has come to have a look at where those changes came from.

    The 1,998 developers contributing to 5.16 was the second-highest number ever, with only 5.13 (with 2,062 developers) being higher. This time around, 296 developers contributed their first change to the kernel, which is at the high end of the typical range.

  • F2FS With Linux 5.17 Makes Some Performance Improvements - Phoronix

    F2FS as the Flash-Friendly File-System may not see too much use out of desktop Linux distributions at least as it concerns any easy/semi-endorsed root install option, but this file-system does continue maturing and seeing much use by enthusiasts and especially among the plethora of Android devices now supporting this flash-optimized file-system. With Linux 5.17, F2FS has some performance improvements and other fixes.

    F2FS lead developer and maintainer Jaegeuk Kim sent in the Flash-Friendly File-System updates on Tuesday. This cycle there is work for addressing performance issues in the checkpoint and direct I/O code. There is also improvements to the page cache management code used as part of the file-system compression support.

More in Tux Machines

Programming Leftovers

  • A backup is only as good as ...

    Today, while looking at previously-logged data in preparation for consumption of future similar data, I discovered to my horror, that tinylog(8) truncates lines at what I first assumed was 1024 but actually is 1000 bytes.

  • Multiple level filters in jq

    Here's another note-to-self on using jq to shape JSON representations of OData to match what's returned using system query options. Thsi time it's all filtering at two levels.

    In the Back to basics: OData - the Open Data Protocol - Part 3 - System query options live stream last Friday we looked at OData's system query options.

    There was a question at the end about whether it was possible to use the $filter system query option at multiple levels, in an $expand context. I wrote up the question, and a detailed answer (summary: yes) with an example here: Can $filter be applied at multiple levels in an expand?.

  • 0024: HYTRADBOI postmortem, HYTWACFI?, preimp, emergent ventures, data and reality, merkle search trees, readyset, julia compilation times

    Now that all that HYTRADBOI craziness is over I'm focusing on preimp. The goal is to work towards the programming experience that I envisioned for imp, but hack it together in clojure to avoid getting bottlenecked forever on language design.

    So far I have a simple clojure notebook with coarse-grained incremental maintenance. There are data cells that can be mutated by other code, with the changes being persisted back into the cell. The notebook is backed by a simple crdt, so once I finish hooking it up to the server it will allow collaborative editing of code and data. Next step after that is rendering the output values as interactive widgets, and then adding bidirectional editing so that interacting with the widgets for derived views can push changes to upstream data.

  • Parsing JSON faster with Intel AVX-512

    A few years ago, we released a really fast C++ JSON parser called simdjson. It is somewhat unique as a parser in the fact that it relies critically on SIMD instructions. On several metrics, it was and still is the fastest JSON parser though other interesting competitors have emerged.

    Initially, I had written a quick and dirty AVX-512 kernel for simdjson. We never merged it and after a time, I just deleted it. I then forgot about it.

  • "GameShell" interactive game for learning Linux shell commands

    A new project has been released which seeks to teach people how to use a UNIX style shell… via a game-like experience.

  • Best Books on Data Science with Python

    Best Books on Data Science with Python, In the subject of data science, Python is one of the most extensively used programming languages.

    Pandas, NumPy, scikit-learn, Matplotlib, and SciPy are just a few of the Python packages and libraries that are specifically suited for specific functions.

  • AI Attempts Converting Python Code To C++

    [Alexander] created codex_py2cpp as a way of experimenting with Codex, an AI intended to translate natural language into code. [Alexander] had slightly different ideas, however, and created codex_py2cpp as a way to play with the idea of automagically converting Python into C++. It’s not really intended to create robust code conversions, but as far as experiments go, it’s pretty neat.

Security Leftovers

  • How to Store an SSH Key on a Yubikey
  • OpenIKED 7.1 released

    OpenIKED 7.1 was released on May 23rd, 2022.

  • Track Down Ghosts In Your WiFi With The Pwnton Pack

    If there’s something weird in your Network Neighborhood, who you gonna call? If you want your WiFi troubles diagnosed in style, try calling [Travis Kaun] — he might just show up wearing the amazing Pwnton Pack. Built from a replica Proton Pack similar to those used in the 1984 classic Ghostbusters, it’s a portable wireless security diagnostics kit that should be able to pinpoint any weaknesses in your wireless network.

PulseAudio 16 Released with Bluetooth Improvements, Opus Support in RTP Modules

GNU/Linux distro users still using PulseAudio would be happy to learn that PulseAudio 16 is here with battery level reporting for Bluetooth devices to other software, stereo output support for the EPOS/Sennheiser GSP 670 wireless gaming headset and SteelSeries GameDAC Hi-Res sound card DAC (Digital Audio Converter), as well as profiles for the Native Instruments Komplete Audio 6 MKII premium 6-channel audio interface. Read more

PulseAudio 16.0

The audio sent with module-rtp-send can now be compressed with the Opus codec. To use it, pass enable_opus=true as a module argument to module-rtp-send. This feature works only when PulseAudio is compiled with GStreamer enabled (both sending and receiving end). Read more