Language Selection

English French German Italian Portuguese Spanish

Kernel: Linux 5.11, Linux 5.10, RCU...

Filed under
  • Linux 5.11 To Land Optimization That Helps IO_uring Performance - Phoronix

    At the start of October we mentioned a kernel optimization that can help IO_uring performance. Now as we approach the end of the month, Linux 5.11 is poised to land the optimization that especially helps out with threaded workloads.

    The change to task_work to use TIF_NOTIFY_SIGNAL when available is queued as part of the tip.git core/entry code ahead of the Linux 5.11 merge window opening in December. Currently TIF_NOTIFY_SIGNAL is wired up for x86/x86_64 while Jens is working on adding this support to other CPU architectures as well. We'll see how many architectures get supported in time for Linux 5.11 as once completing that work he'll be able to move on with a set of clean-ups.

  • Stupid RCU Tricks: Torturing RCU Fundamentally, Part III - Paul E. McKenney's Journal — LiveJournal

    Even more reading of the Linux-kernel Documentation/RCU/Design/Requirements/Requirements.rst file encounters RCU's memory-barrier guarantees. These guarantees are a bit ornate, but roughly speaking guarantee that RCU read-side critical sections lapping over one end of a given grace period are fully ordered with anything past the other end of that same grace period. RCU's overall approach towards this guarantee is shown in the Linux-kernel Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst file, so one approach would be to argue that these guarantees are proven by a combination of this documentation along with periodic code inspection. Although this approach works well for some properties, the periodic code inspections require great attention to detail spanning a large quantity of intricate code. As such, these inspections are all too vulnerable to human error.

    Another approach is formal verification, and in fact RCU's guarantees have been formally verified. Unfortunately, these formal-verification efforts, groundbreaking though they are, must be considered to be one-off tours de force. In contrast, RCU needs regular regression testing.

  • Stupid RCU Tricks: Torturing RCU Fundamentally, Parts IV and V - Paul E. McKenney's Journal — LiveJournal

    The first guarantee is trivially verified by inspection of the RCU API. The type of rcu_read_lock(), rcu_read_unlock(), synchronize_rcu(), call_rcu(), and rcu_assign_pointer() are all void. These API members therefore have no way to indicate failure. Even primitives like rcu_dereference(), which do have non-void return types, will succeed any time a load of their pointer argument would succeed. That is, if you do rcu_dereference(*foop), where foop is a NULL pointer, then yes, you will get a segmentation fault. But this segmentation fault will be unconditional, as advertised!

  • AMD Navi "Blockchain" Card Support Being Added To Linux 5.10

    Last week we were first to report on a PCI ID being added for a Navi 1 "Blockchain" graphics card without display outputs and seemingly focused on cryptocurrency mining. This card wasn't talked about at yesterday's Radeon RX 6000 series launch but that support is now on the way to the Linux 5.10 kernel.

    The code sent out last week added the new Navi 10 PCI ID and disabled DCN/VCN support for that ID with this card not having video acceleration or display functionality. Aside from that patch, AMD hasn't officially acknowledged this new part that is RDNA (1) and not to be confused with the forthcoming RDNA2 / RX 6000 series products.

More in Tux Machines

New Releases: EasyOS 2.5.1 and NuTyX 12-rc3

  • Easy Buster version 2.5.1

    EasyOS versions 1.x are the "Pyro" series, the latest is 1.3. Easy Pyro is built with packages compiled from source using 'oe-qky-src', a fork of OpenEmbedded. Consequently, the builds are small and streamlined and integrated. The Pyro series may have future releases, but it is considered to be in maintenance status. The "Buster" series start from version 2.0, and are intended to be where most of the action is, ongoing. Version 2.0 was really a beta-quality build, to allow the testers to report back. The first official release was 2.1. The main feature of Easy Buster is that it is built from Debian 10 Buster DEBs, using WoofQ (a fork of Woof2: Woof-CE is another fork, used to build Puppy Linux).

  • EasyOS 2.5.1
  • EasyPup 2.5 boots, 2.5.1 kernel panic

    Rodney has been reporting this for sometime, that he gets a kernel panic trying to boot recent releases of EasyOS or EasyPup. They are using a 5.4.x kernel, except for EasyPup 2.5, I used a 4.19.157 kernel, and that booted. He tried to upgrade to 2.5.1, got kernel panic. So, he is back on 2.5.

  • NuTyX 12-rc3 available

    I'm very please to announce the new NuTyX 12-rc3 testing release. The 64-bit version is a complete new project. They are no plan to release a version 12 of NuTyX in 32 bits.

Devices/Embedded: Raspberry Pi, Jetson Nano and STMicroelectronics/FreeRTOS

  • World’s first fingerprint sensor HAT uses capacitive scanning

    SB Components has won Kickstarter funding for a $60 “PiFinger” HAT for the Raspberry Pi featuring a 2D capacitive fingerprint sensor with 176 x 176 resolution that can detect, compare and register up to 24 fingerprints. UK-based SB Components, which has delivered ambitious, Raspberry Pi based products such as its PiTalk phone, LapPi laptop, and PiArm robotic arm, has weighed in with what it calls the world’s first fingerprint sensor HAT. The open source, $60 PiFinger has won Kickstarter funding and will ship in February.

  • 5 Best Raspberry Pi Alternatives to Run Linux On – buying guide [Ed: This list itself might be OK, but all the links are referrer spam and should be disregarded]
  • Spread the joy of learning through making
  • Designing the Raspberry Pi Case Fan
  • Compact Jetson Xavier NX/ Nano open hardware baseboard supports Android

    When it comes to NVIDIA Jetson family of modules, we should understand that NVIDIA Jetson Nano is for makers and STEM education, while Xavier NX is more geared towards professional and commercial use. The compute module Xavier NX was announced before the development kit, which includes the module and reference carrier board and otherwise for NVIDIA Jetson Nano. There are some third-party carrier boards & edge computers available for Jetson Xavier NX and Jetson Nano, including DesignCore Carrier Board and Diamond FLOYD Carrier Board. Antmicro, a custom hardware, software, and AI engineering company, came up with a compact open hardware device: Jetson Nano/ Xavier NX baseboard. It supports both NVIDIA Jetson Nano SoM as well as the Xavier NX SoM.

  • ST adds FreeRTOS thread-aware debug for microcontrollers

    STMicroelectronics has added support for FreeRTOS thread-aware debug to its STM32CubeIDE development environment, completing its acquisition of the Atollic tools. ST has completed transferring major advanced features of Atollic TrueStudio for STM32 into STM32CubeIDE after acquiring Atollic in 2017. STM32CubeIDE with support for thread-aware debug of the open source FreeRTOS real time operating system further extends the tool’s features. FreeRTOS is now supported by Amazon as AmazonFreeRTOS for the AWS cloud service. The direct access to STM32CubeMX configuration functions simplifies project setup, selecting a target microcontroller from the complete STM32 portfolio, configuring GPIOs, clock tree, peripherals, and pin assignments. The tool allows developers to quickly analyse power consumption depending on the applications usage, as well as select middleware stacks and generate initialization code for the desired configuration.

Open Hardware: Arduino and 64-bit RISC-V

  • Arduino Blog » RobotSculptor uses a six-axis robot arm to sculpt clay models

    Robotic fabrication techniques such as 3D printing enable you to make a copy of a wide variety of items. Actually sculpting something out of clay, however, remains a largely human pursuit. One might also miss the individual style of a sculptor in a finished product. RobotSculptor, developed by a team of engineers from ETH Zurich and Disney Research, attempts to address both challenges. The system generates toolpaths from a base mesh design and allows artistic input via mouse strokes during the process. A six-axis robot arm then incrementally removes clay from the model-in-progress, using a custom loop tool.

  • 64-bit RISC-V core claims 10x better CoreMarks/Watt compared to other 3-5GHz CPUs

    Micro Magic unveiled an up to 64-bit RISC-V core showing a groundbreaking 110,000 CoreMarks/Watt, with a 3GHz chip consuming less than 70mW. The company claims 10 times better CoreMarks/Watt compared to other processors in the 3-5GHz range. Considering the spectacular promise and sudden demise of AI tech firm Magic AI, we should perhaps be wary of hyped up companies with Magic in their name. Yet, the astonishing claims about an incredibly efficient RISC-V core coming out of Sunnyvale, Calif. based EDA firm Micro Magic in recent weeks appear to be for real.

  • Arduino Blog » A (very) short guide to help you transition to the Arduino Science Journal

    Arduino acquired the Science Journal app from Google on August 5th, and the final handover takes place on December 11th, 2020. From that date, the Science Journal will no longer be supported by Google. If you haven’t exported your experiments and imported them into the Arduino Science Journal, we strongly encourage you to do so now, as your data will no longer sync with Google Science Journal after that date. [...] While we can’t disclose too much about our future plans for the app, we can tell you that we’ll ensure it will offer easy access to a stream of data that leverages your smartphone sensors, as well as Arduino sensors. The aim is to help learners understand the importance of an inquiry-based educational method rather than passive consumption of information. We’ll also continuously improve the accessibility of the app for all users, and find new ways of experimenting with science. In the near future, we’ll be interacting more with users, so you’ll hear more from us soon! We’ll also be adding more tutorials on our platform dedicated to Science Journal!

Mozilla: WebThings Gateway 1.0, Lobbying and Rust

  • Flying the Nest: WebThings Gateway 1.0 - Mozilla Hacks - the Web developer blog

    After four years of incubation at Mozilla, we are excited to announce the release of WebThings Gateway 1.0 and a new home for the WebThings platform.

  • Mozilla reacts to publication of the EU Democracy Action Plan - Open Policy & Advocacy

    The European Commission has just published its new EU Democracy Action Plan (EDAP). This is an important step forward in the efforts to better protect democracy in the digital age, and we’re happy to see the Commission take onboard many of our recommendations. [...] As a founding signatory to the EU Code of Practice on Disinformation we are encouraged that the Commission has adopted many of our recommendations for how the Code can be enhanced, particularly with respect to its implementation and its role within a more general EU policy approach to platform responsibility.

  • This Week in Rust 367
  • Philip Chimento: Advent of Rust

    I have a bit of time off and I decided to participate in Advent of Code 2020 after my coworker Adrián shared a link to it. I’ve heard that people use challenges like these as an excuse to learn a new programming language, and I have wanted to learn Rust for quite a long time now. Why Rust? From what I’ve heard, it’s a programming language oriented towards high performance and systems programming, like C or C++; but unlike those languages, it was designed in such a way to make it difficult or impossible to make mistakes such as buffer overflows or memory leaks. I have heard that it’s a lot more enjoyable to use than C++ as well. I did write a “Hello World” program in Rust some time ago, and I have heard things about Rust from others, so I wouldn’t be coming to it completely fresh. Nonetheless, fresh enough that I decided that the experience of writing something from scratch, in a new programming language, was unusual enough for me that I would keep a log while I was doing it. So here is that log. It’s a bit stream-of-consciousness. I’ve edited it so that it consists of complete sentences instead of just notes, but I’ve left in the mistakes and dead ends. I made this mainly so that I can look back later when I’ve learned more, and see what mistakes I made.