Language Selection

English French German Italian Portuguese Spanish

Linux

LWN on Kernel: 5.12 Merge, Lockless Algorithms, and opy_file_range()

Filed under
Linux
  • 5.12 Merge window, part 1 [LWN.net]

    The beginning of the 5.12 merge window was delayed as the result of severe weather in the US Pacific Northwest. Once Linus Torvalds got going, though, he wasted little time; as of this writing, just over 8,600 non-merge changesets have been pulled into the mainline repository for the 5.12 release — over a period of about two days. As one might imagine, that work contains a long list of significant changes.

  • An introduction to lockless algorithms [LWN.net]

    Low-level knowledge of the memory model is universally recognized as advanced material that can scare even the most seasoned kernel hackers; our editor wrote (in the July article) that "it takes a special kind of mind to really understand the memory model". It's been said that the Linux kernel memory model (and in particular Documentation/memory-barriers.txt) can be used to frighten small children, and the same is probably true of just the words "acquire" and "release".

    At the same time, mechanisms like RCU and seqlocks are in such widespread use in the kernel that almost every developer will sooner or later encounter fundamentally lockless programming interfaces. For this reason, it is a good idea to equip yourself with at least a basic understanding of lockless primitives. Throughout this series I will describe what acquire and release semantics are really about, and present five relatively simple patterns that alone can cover most uses of the primitives.

  • How useful should copy_file_range() be? [LWN.net]

    Its job is to copy len bytes of data from the file represented by fd_in to fd_out, observing the requested offsets at both ends. The flags argument must be zero. This call first appeared in the 4.5 release. Over time it turned out to have a number of unpleasant bugs, leading to a long series of fixes and some significant grumbling along the way.

    In 2019 Amir Goldstein fixed more issues and, in the process, removed a significant limitation: until then, copy_file_range() refused to copy between files that were not located on the same filesystem. After this patch was merged (for 5.3), it could copy between any two files, falling back on splice() for the cross-filesystem case. It appeared that copy_file_range() was finally settling into a solid and useful system call.

    Indeed, it seemed useful enough that the Go developers decided to use it for the io.Copy() function in their standard library. Then they ran into a problem: copy_file_range() will, when given a kernel-generated file as input, copy zero bytes of data and claim success. These files, which include files in /proc, tracefs, and a large range of other virtual filesystems, generally indicate a length of zero when queried with a system call like stat(). copy_file_range(), seeing that zero length, concludes that there is no data to copy and the job is already done; it then returns success.

    But there is actually data to be read from this kind of file, it just doesn't show in the advertised length of the file; the real length often cannot be known before the file is actually read. Before 5.3, the prohibition on cross-filesystem copies would have caused most such attempts to return an error code; afterward, they fail but appear to work. The kernel is happy, but some users can be surprisingly stubborn about actually wanting to copy the data they asked to be copied; they were rather less happy.

Videos/Audiocasts/Shows

Filed under
GNU
Linux
  • Font Preview Ueberzug: A Better Font Previewer

    A while back I looked at a font preview script but it was kind of annoying to use, but it turns out there's a much better version of that script called font preview ueberzug which is what we're checking out today.

  • Ubuntu Voltage

    For a few years we’ve been performing a live version of an Ubuntu Podcast at FOSS Talk Live. This is a lively, nerdy, in-person Linux Podcast event at the Harrison Pub in London. A few shows are performed in front of a live slightly drunk studio pub audience. We are but one troup of performers though, over the course of the evening.

    The whole thing is organised by Joe Ressington and attended by our friends and/or/xor listeners. Joe has just announced over on episode 114 of Late Night Linux that we’re all doing it again! Go and listen to that show for a small amount of detail.

  • FLOSS Weekly 619: Notetaking With Dendron - Kevin Lin and Dendron [Ed: FLOSS Weekly jumping the shark by pushing Microsoft proprietary software instead of actual FLOSS]

    Kevin Lin and Dendron.

    Kevin Lin joins Jonathan Bennett and Katherine Druckman to talk about Dendron, a note-taking application built on top of VSCode. After many years of taking notes, Kevin found himself with a massive, unmanageable personal knowledge store. None of the existing note-taking applications quite solved his problem, so Kevin did the only reasonable thing, and wrote his own. On this episode of FLOSS Weekly, Lin covers some of his design decisions, including building Dendron on VSCode and Javascript, and helps us understand how Dendron can help tame the jungle of personal knowledge.

Kernel: Intel SGX, Swapfile Problem, and Security Fixes

Filed under
Linux

     

  • Intel Sends Out KVM SGX Virtualization Patches For Linux - Phoronix

    Intel SGX support finally landed in Linux 5.11 after going through 40+ rounds of review that took years for bringing up Software Guard Extensions in the mainline kernel. But that trek isn't yet over as Intel is now working on KVM SGX virtualization support to be upstreamed. 

    Intel earlier sent out a "request for comments" on KVM SGX virtualization support while on Monday they sent out the first formal (non-RFC) patch series with this support for handling Software Guard Extensions in the context of KVM virtualization. Basically this allows for a portion of the system memory to be encrypted with an SGX enclave exclusively for a KVM guest virtual machine that can't be accessed outside of the secure enclave. Separate from SGX enclaves, Intel also has coming out with future CPUs the Total Memory Encryption (TME) feature. AMD meanwhile has been working on Secure Encrypted Virtualization (SEV) with Secure Memory Encryption (SME) as their EPYC approach for securing guest VM memory from other VMs or the host. 

  •   

  • Linux 5.12 Lands Fix For File-System Corruption Caused By Swapfile Issue - Phoronix

    For those wanting to help in testing out the Linux 5.12 kernel, at least it should no longer eat your data now if you rely on a swapfile. 

    The file-system corruption issue on Linux 5.12 Git noted last week and then followed up on yesterday when the corruption hit Intel's graphics CI systems and narrowed down to a set of swap-related changes, has now been resolved with today's latest Git code. 

    [...]

    With that fix now in, we can get back to looking at Linux 5.12 performance changes and other more interesting testing than worrying about data loss.

  • High severity Linux network security holes found, fixed | ZDNet

    Young and rising Linux security developer Alexander Popov of Russia's Positive Technologies discovered and fixed a set of five security holes in the Linux kernel's virtual socket implementation. An attacker could use these vulnerabilities (CVE-2021-26708) to gain root access and knock out servers in a Denial of Service (DoS) attack.

Linux for Beginners: Should You Make the Switch?

Filed under
OS
GNU
Linux

When it comes to operating systems, most people tend to go for the most popular options. If you’re buying a Mac computer, you probably won’t use Windows. PC owners typically choose it without giving this decision a second thought. Still, there is a low-key third option used to power many machines but is rarely used by your average PC owner.

We’re talking about Linux OS, of course. In its many variations, Linux is used as a software basis for many servers, IoT appliances, and many other devices but rarely do we see regular users opt for it. Why is that? Well, let’s take a closer look at this subject and see if this is a good OS choice for you.

Read more

Why it's a good thing that the Linux desktop is boring again

Filed under
Linux

Hopefully the title has piqued your interest, as that was the intent. With the upcoming release of GNOME 40, I've found myself in a rather contemplative and nostalgic mood lately. I remember, back in the early 2000s, I'd read about a new desktop in development called GNOME. Curiosity got the best of me and installed the beta version of the environment.

If I'm being honest, I wasn't impressed. My formative years with the Linux desktop were spent using the likes of AfterStep and Enlightenment E16. If you know either of those desktops (or Window Managers) you get it. Both of them were exceptionally configurable and could be made to look absolutely gorgeous. At one point, I had AfterStep tricked out to the point where everything was varying degrees of transparency and the window decorations were as much sculpture as they were code. When people saw my desktop, they were astonished. It was a work of art.

Read more

It’s raining i.MX 8M Plus systems-on-module at Embedded World 2021

Filed under
Android
Linux

NXP introduced i.MX 8M Plus AI SoC with a built-in 2.3 TOPS neural processing unit (NPU) last year, and we’ve already covered several early announcements about i.MX 8M Plus systems-on-module (SoM) with Variscite VAR-SOM-MX8M-PLUS and DART-MX8M-PLUS, TechNexion EDM-G-IMX8M-PLUS and AXON-E-IMX8M-PLUS respectively using SO-DIMM edge connectors and board-to-board connectors, as well as SolidRun i.MX 8M Plus SoM that was announced together with the HummindBoard Mate carrier board with dual Gigabit Ethernet.

But as Embedded World 2021 Digital is taking place virtually until Friday, other companies have now made their own announcements of i.MX 8M Plus SoMs as the processor enters mass production this month, and since as far as I know, it’s pin-to-pin and software compatible with earlier i.MX 8M Nano/Mini SoCs, the update must have been easy. That means we’ve got a longish list of modules, and I have probably missed some. Supported operating systems are basically the same across companies with Linux using Builroot or the Yocto Project running on Cortex-A53 cores, and FreeRTOS on the real-time Cortex-M7 core. Some also offer Android support.

Read more

Kernel: LVFS/Fwupd, Btrfs, and Gallium Nine

Filed under
Linux
  • LVFS Serves Up 25 Million Firmware/BIOS Updates To Linux Users - Phoronix

    It was just this past September that LVFS served its 20 millionth firmware file to Linux users updating their system BIOS or device firmware using Fwupd while this week the Linux Vendor Firmware Service crossed the 25 million milestone! 

    LVFS/Fwupd lead developer Richard Hughes of Red Hat relayed the news that LVFS has now served more than 25 million firmware files to Linux users. Considering just a few years ago it was difficult updating your system BIOS under Linux and most hardware vendors wouldn't even consider offering firmware updates for Linux, this is an incredible accomplishment. 

  •  

  • Btrfs: Resolving the logical-resolve · Marcos' Blog

    Tools like fsck and smartctl are usually used when something bad happens on your disk. But, what if such tools have a problem and also need to be fixed? Well, that’s what we are going to see today.

    [...]

    An astute reader would think that we can get wrong mount points too, like a bind mount that points to a directory within our desired mount point. This was fixed by the commit mentioned in a previous post.

    [...]

    The package btrfs-progs v5.10 already contains the fixes pointed in this post, so make sure to upgrade your package in order to have a working logical-resolve.

  • Gallium Nine Still Seeing Improvements In 2021 For Direct3D 9 Within Mesa - Phoronix

    While VKD3D has been receiving much attention these days for implementing Direct3D 9/10/11 atop the Vulkan API that can be consumed in a driver agnostic manner, Gallium Nine as a D3D9 state tracker going back years for Mesa continues to receive new work too.

Devices: Jetson, Aaeon, Raspberry Pi

Filed under
GNU
Linux

     

  • Jetson TX2 NX module offers TX2 power in a Nano footprint

    Nvidia has launched a 260-pin “Jetson TX2 NX” variant of the TX2 with 4GB LPDDR4, 16GB eMMC, and slightly reduced camera, display, and PCIe Gen2 support.

    Nvidia has introduced a spin-down of the Jetson TX2 compute module that falls between the TX2 and the lower-end Jetson Nano. The Jetson TX2 NX runs Linux on the same hexa-core CPU and 256-core Pascal GPU with 1.33-TOPS AI performance as the TX2, and it supplies the same 4GB LPDDR4 and 16GB eMMC as the lower-end 4GB TX2 module. However, it moves from a 400-pin board-to-board edge connector to the 260-pin connector found on the Nano and higher-end Jetson Xavier NX, and has fewer PCIe Gen2, MIPI-CSI, MIPI-DSI, and other interfaces.

  •   

  • Net appliance boasts four 10GbE ports and up to three wireless links

    Aaeon’s “FWS-2365” net appliance runs on an up to 16-core Atom C3000 with up to 6x GbE and 4x 10GbE SFP+ ports plus 2x SATA, 2x USB, 2x mini-PCIe, M.2, and eMMC.

    Aaeon announced a desktop network appliance for white box uCPE and SD-WAN applications with VPN support and NFV functions such as firewall and router deployment. The FWS-2365 follows earlier FWS branded appliances such as the FWS-2360 and FWS-7360, which similarly feature Intel’s 4x to 16x core Atom C3000 (“Denverton”) networking SoC. No OS support was listed, but the FWS-2360 supports Linux.

  •   

  • Raspberry Pi RP2040 boards are coming with... HDMI?

    We’ve already seen Raspberry Pi RP2040 MCU can support VGA output using the microcontroller’s programmable I/O blocks.  But yesterday, I saw two upcoming RP2040 boards with an HDMI connector. How is that supposed to work?

    The first one is Olimex RP2040-PICO-PC that’s indeed like a pico PC board with an HDMI connector for video, a micro SD card for storage, a standard 3.5mm audio jack for speaker or headphone, and a USB host for a keyboard.

Kernel Space: Xen 4.15 RC1, NTFS, "Severe Data Corruption Bug Hits Intel CI Systems"

Filed under
Linux
  • Xen 4.15 RC1 – Please test

    Xen 4.15 is in code freeze, and we cut RC1 yesterday. Please help us test it to make sure Xen 4.15 is a high quality release (and that it works well for your use cases!)

  • New NTFS Driver Misses Out On Linux 5.12 But Revved A 22nd Time

    While Linux 5.12 has many great new features, what you won't find in the mainline kernel is the new "NTFS3" kernel driver developed by Paragon Software for NTFS file-systems. That driver is still coming for a future kernel and has now been sent out a twenty-second time for review.

    Last summer was the big surprise of Paragon wanting to upstream their NTFS kernel driver to replace the Linux kernel's existing NTFS driver that is mostly read-only and quite basic. Paragon's "NTFS3" driver fully supports reads and writes and many other features not found with the existing Linux driver. This new driver is much better off for those needing to deal with Microsoft NTFS file-systems from Linux. The NTFS3 driver is also more performant than the FUSE-based NTFS driver that is also available and currently preferred by some distributions.

  • That Linux 5.12 Severe Data Corruption Bug Hits Intel CI Systems - Issue Caused By Swap File

    Last week I issued a warning of possible data loss on the early Linux 5.12 kernel code that was reliably leaving my test systems severely corrupted. Intel's internal graphics test systems it turns out have now been bitten by this issue in encountering this significant file-system corruption and as such they've been quick to jump on the issue - there's now an idea what's causing the nasty issue and a workaround by reverting select patches.

    As reported last week, on my test systems with the Linux 5.12 kernel I have been suffering from significant data corruption during benchmarking. Running e2fsck on the EXT4 file-systems would yield a plethora of errors and ultimately not recoverable. Besides the fact of having to either recover from a backup image or reinstall from scratch each time, making it more complex was seeing this behavior even before EXT4 file-system changes were merged for the 5.12 cycle and they tended to be on the mundane side anyhow -- likely indicating a problem elsewhere in the kernel and not something specific to EXT4, just that many of my test systems are using EXT4.

IPFire 2.25 - Core Update 154 released

Filed under
GNU
Linux
Security

The first update of the year will be an enormous one. We have been working hard in the lab to update the underlying operating system to harden and improve IPFire and we have added WPA3 client support and made DNS faster and more resilient against broken Internet connections.

This is probably the release with the largest number of package updates. This is necessary for us to keep the system modern and adopt any fixes from upstream projects. Thank you to everyone who has contributed by sending in patches.

Before we talk about what is new, I would like to as you for your support for our project. IPFire is a small team of people from a range of backgrounds sharing one goal: make the Internet a safer place for everyone. Like many of our open source friends, we’ve taken a hit this year and would like to ask for your continued support.

Read more

Syndicate content

More in Tux Machines

LWN on Kernel: 5.12 Merge, Lockless Algorithms, and opy_file_range()

  • 5.12 Merge window, part 1 [LWN.net]

    The beginning of the 5.12 merge window was delayed as the result of severe weather in the US Pacific Northwest. Once Linus Torvalds got going, though, he wasted little time; as of this writing, just over 8,600 non-merge changesets have been pulled into the mainline repository for the 5.12 release — over a period of about two days. As one might imagine, that work contains a long list of significant changes.

  • An introduction to lockless algorithms [LWN.net]

    Low-level knowledge of the memory model is universally recognized as advanced material that can scare even the most seasoned kernel hackers; our editor wrote (in the July article) that "it takes a special kind of mind to really understand the memory model". It's been said that the Linux kernel memory model (and in particular Documentation/memory-barriers.txt) can be used to frighten small children, and the same is probably true of just the words "acquire" and "release". At the same time, mechanisms like RCU and seqlocks are in such widespread use in the kernel that almost every developer will sooner or later encounter fundamentally lockless programming interfaces. For this reason, it is a good idea to equip yourself with at least a basic understanding of lockless primitives. Throughout this series I will describe what acquire and release semantics are really about, and present five relatively simple patterns that alone can cover most uses of the primitives.

  • How useful should copy_file_range() be? [LWN.net]

    Its job is to copy len bytes of data from the file represented by fd_in to fd_out, observing the requested offsets at both ends. The flags argument must be zero. This call first appeared in the 4.5 release. Over time it turned out to have a number of unpleasant bugs, leading to a long series of fixes and some significant grumbling along the way. In 2019 Amir Goldstein fixed more issues and, in the process, removed a significant limitation: until then, copy_file_range() refused to copy between files that were not located on the same filesystem. After this patch was merged (for 5.3), it could copy between any two files, falling back on splice() for the cross-filesystem case. It appeared that copy_file_range() was finally settling into a solid and useful system call. Indeed, it seemed useful enough that the Go developers decided to use it for the io.Copy() function in their standard library. Then they ran into a problem: copy_file_range() will, when given a kernel-generated file as input, copy zero bytes of data and claim success. These files, which include files in /proc, tracefs, and a large range of other virtual filesystems, generally indicate a length of zero when queried with a system call like stat(). copy_file_range(), seeing that zero length, concludes that there is no data to copy and the job is already done; it then returns success. But there is actually data to be read from this kind of file, it just doesn't show in the advertised length of the file; the real length often cannot be known before the file is actually read. Before 5.3, the prohibition on cross-filesystem copies would have caused most such attempts to return an error code; afterward, they fail but appear to work. The kernel is happy, but some users can be surprisingly stubborn about actually wanting to copy the data they asked to be copied; they were rather less happy.

Banana Pi BPI-M2 Pro is a compact Amlogic S905X3 SBC

Banana Pi has already designed an Amlogic S905X3 SBC with Banana Pi BPI-M5 that closely follows Raspberry Pi 3 Model B form factor, but they’ve now unveiled a more compact model with Banana Pi BPI-M2 Pro that follow the design of the company’ earlier BPI-MP2+ SBC powered by the good old Allwinner H3 processor. BPI-M2 Pro comes with 2GB RAM, 16GB eMMC storage, HDMI video output, Gigabit Ethernet, Wifi & Bluetooth connectivity, as well as two USB 3.0 ports. Read more

Chrome 89 vs. Firefox 86 Performance Benchmarks On AMD Ryzen + Ubuntu Linux

Given this week's launch of Chrome 89 and the recent Firefox 86 debut, here are some quick benchmarks for those curious about the current performance when using Ubuntu Linux with a AMD Ryzen 9 5900X and Radeon graphics. Curious about the latest standing of the newest Firefox and Chrome releases on Linux, here are some quick benchmarks carried out on one of the systems locally. A larger comparison will come soon while this is just a quick one-page article for those eager to see some new browser numbers for AMD on Linux. The Ryzen 9 5900X was at stock speeds - the reported CPU frequency is due to a kernel bug working its way to 5.11/5.10 stable still. Read more

today's howtos

  • How to install Budgie desktop on Manjaro

    Budgie is an elegant and simplified desktop environment that integrates very well with Manjaro. Budgie is developed and maintained by the Solus team. This article will delve into the details of everything you need to know while installing the Budgie Desktop on Manjaro.

  • How To Update Fedora Linux using terminal to apply updates - nixCraft

    I recently switched from Windows server to Fedora 32/33 server running in the cloud. How do I apply software updates and patches on Fedora 32/33 server using the terminal application? Fedora Linux uses dnf command. It is the next upcoming major version of yum command. Yum is a package manager for RPM-based Linux distributions such as CentOS/RHEL 7.x and older version of Fedora Linux. You need to use the dnf command to update Fedora Linux using terminal for latest software patches. This page explains how to update a Fedora Linux using the terminal.

  • How to Turn Off Automatic Brightness on Ubuntu Linux

    Some new laptops come with built-in integrated light sensor. Operating systems use this sensor to measure the ambient light conditions and change the screen brightness automatically. This helps in reducing eye strain. You can see that this is a useful feature. But not everyone might like it all the time. For example, while watching Netflix on Linux at night, it reduces the screen brightness at the lowest for me. This makes the movie scene quite dull. This is one of the many cases when you probably would not want automatic brightness. Turning off automatic brightness on Ubuntu is quite simple. I’ll show that to you in this quick article. This tutorial is valid for GNOME desktop environment. The command line method should work for MATE desktop as well. If you are not certain, check which desktop environment you are using.

  • MultiCD - A Shell Script to Combine Multiple Bootable ISO's into One CD

    If you’ve ever used a multiboot CD that contains different utilities or bootable ISOs then creating one for yourself would be amazing. In this article, we shall take a look at MultiCD.sh, a shell script that is designed to help you build a multiboot CD image that can contain different, small Linux distros and/or utilities. There are many advantages of using this script and they include among others; no need for different CDs for small Linux distributions or utilities, you can simply use ISO images that you already have without downloading them again and in case of new versions, simply download them and run the script again and build a new multiboot image.

  • Linux Sponge - Soak Up Standard Input and Write to a File - Putorius

    The sponge command is part of the moreutils package. It is a utility that provides a function that is so simple it’s genius. It’s basic use is to soak up (get it? sponge..) standard input and write it to a file. The terminology “soak up” is more important than just creating a fun play on words. In this short tutorial we show you the sponge commands basic usage and why the term “soak up” is important.