Language Selection

English French German Italian Portuguese Spanish

Kernel: LWN Articles and F2FS in Linux 5.17

Filed under
Linux
  • VSTATUS, with or without SIGINFO [LWN.net]

    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 [LWN.net]

    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

today's leftovers

  • reversing an openbsd kernel syspatch

    OpenBSD has provided binary patches for a select few architectures for a while now, to save users from the daunting task of running make on their own. Alas, this means you might now apply a patch without first reviewing it. In the olden times, you had a source patch, so obviously you meticulously studied every line before application, just like you advised new users on IRC to do. But now, who will believe you do this when the binary syspatch is right there, so easy, so tempting.

  • [GSoC 2022] Ham: A Jam Replacement

    Haiku currently uses a fork of Perforce Jam as its build system. While Jam is a great build system, its legacy codebase makes it difficult to fix bugs or introduce new features.

    Ham is a complete Jam rewrite that was started by Ingo Weinhold, but wasn’t completed. This project starts where Ingo left off to bring Ham to where it can be used as Haiku’s official build system. The new repository can be found here.

  • Daily logging on al-Toril

    What I’m gonna add in is a cheapo A5 notebook. The notebook is a daily log (and by daily, I mean days on al-Toril in the year 1494) that’s strictly for post-hoc. Keeping track of torches & shoes, but also take note of what happens (gonna make writing session reports a li’l easier). A symbol to capture extra-diegetical (real-life) todo-items for me (a square box probably), for example “remember to make a new crafting table for potions” or whatever (sort of like a bujo), and another symbol (maybe just underline) for references to the A7 & A4 loose sheets. So that non-post-hoc, actual prep prep can live there. Things that are actual stuff, forward references, will become cards instead.

    This is also great because I can use shorthand in the daily log (I need to use longhand for prep so that the players can verify stuff, but logs aren’t prep).

Compile GNOME Shell and Apps From Source [Beginner's Guide]

A tutorial on how to compile GNOME from its source, including the shell, mutter and some native apps. Read more

Free Software Leftovers

  • 8 reasons to ditch Chrome and switch to Firefox

    One such option is Firefox. It’s a rare browser not based on Chromium, the project that powers Chrome, unlike other rivals like Edge or Opera. It’s also backed by a team with a long, storied history in browser development and a deep interest in online privacy. As a result, using Firefox can boost your PC’s performance, better protect you on the web, and also make life more convenient, too. You’ll find it offers built-in features that don’t exist in Chrome or otherwise require third-party add-ons.

    Just like we’ve recently done with Vivaldi, the enthusiast’s browser, we’ve highlighted the top 8 reasons to quit Chrome and make the switch to Firefox. Let’s dig in.

  • OpenPGP Email Summit

    During the trip I suddenly remembered that Swiss was not part of the EU, so the roaming rules that apply to all EU countries and that allow EU citizens to use mobile internet and telephony abroad while not having to worry about astronomical bills from their provider would not count. I quickly did some research on how bad it would be. 7cts/10KB. What. The. Fuck. I quickly disabled roaming and mobile internet. Guess I’ll be dependent on the availability of Wifi for the next days. [...] After quickly refreshing, I took the bus to the other end of Geneva to the offices of Proton (formerly Protonmail). They hosted the 6. OpenPGP Email Summit which I was going to attend. When I got to the building, I had to call the office upstairs and one member of the Proton team came down to fetch me. On Thursday we only had an informal meeting of participants that already arrived. The real discussions would take place on Friday and Saturday, although when I entered the office room people already had discussions going. After the meeting we went to a small bar to get some drinks and a small dinner. This being my first OpenPGP meetup (apart from the Sequoia meeting I was invited to some time ago), it was nice getting to know many of the people I already knew from the internet in person.

  • Using Homebrew on M1 Mac

    If you’re coming to M1 Mac fresh, without any old projects or profiles, you probably won’t notice; Homebrew will work as it always has. But if you’re trying to migrate from an Intel Mac you won’t be able to just move packages that were once in /usr/local over to /opt/homebrew. No need to worry though, reinstalling everything on M1 is easy, it just may take a bit of time.

  • Prematurely labelling RSS feeds as inactive

    Please don’t let this be another hang up if you’ve considered writing but are worried about how often you could post. A well written post about a project every other year is already hugely valuable.

  • LinTO: An open-source end-to-end platform for voice-operated solutions

    LinTO a great and efficient assistant, very interesting and intelligent product with many features that have no other any product. It has much grate privacy and security features for businesses meeting and also calling to grow the business. [...] LinTO is released under the GNU Affero General Public Licence V3.

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.