Language Selection

English French German Italian Portuguese Spanish

Raspberry Pi 4 is here!

Filed under
Linux

The latest version of the Raspberry Pi—Raspberry Pi 4—was released today, earlier than anticipated, featuring a new 1.5GHz Arm chip and VideoCore GPU with some brand new additions: dual-HDMI 4K display output; USB3 ports; Gigabit Ethernet; and multiple RAM options up to 4GB.

The Raspberry Pi 4 is a very powerful single-board computer and starts at the usual price of $35. That gets you the standard 1GB RAM, or you can pay $45 for the 2GB model or $55 for the 4GB model—premium-priced models are a first for Raspberry Pi.

Read more

The Raspberry Pi 4 brings faster CPU, up to 4GB of RAM

  • The Raspberry Pi 4 brings faster CPU, up to 4GB of RAM

    Today, Raspberry Pi is introducing a new version of its popular line of single-board computer. The Raspberry Pi 4 Model B is the fastest Raspberry Pi ever, with the company promising "desktop performance comparable to entry-level x86 PC systems."

    The new model is built around a Broadcom BCM2711 SoC, which, with four 1.5GHz Cortex A72 CPU cores, should be a big upgrade over the quad core Cortex A53 CPU in the Raspberry Pi 3. The RAM options are the even bigger upgrade though, with options for 1GB, 2GB, and even 4GB of DDR4. The Pi 3 was limited to 1GB of RAM, which really stung for desktop-class use cases.

Raspberry Pi 4 is a complete desktop computer for just $35

  • Raspberry Pi 4 is a complete desktop computer for just $35

    The Raspberry Pi was originally designed to provide an ultra-cheap way to encourage kids to code, but the uncased credit card sized computer has found an appreciative audience well outside of the education system, going on to sell over a million Pis in its first year alone. Each new iteration of the Pi has added something new, including a 64-bit processor, dual-band 802.11ac Wi-Fi, and Power over Ethernet (PoE) via a HAT.

    Today, the Raspberry Pi Foundation announces the Raspberry Pi 4, and it’s a game changer, offering three times the processing power and four times the multimedia performance of its predecessor, the Raspberry Pi 3+. And that’s not all.

Plenty More Coverage Today of Raspberry Pi 4

  • Raspberry Pi 4 announced and available - sounds like a pretty nice upgrade, Raspbian now based on Debian 10

    Not something we usually cover here, but it's a fun bit of hardware news. The Raspberry Pi 4 is now official and it's out and ready to pick up.

    Interestingly, they also overhauled their home-grown Raspbian Linux OS, as it's now based on Debian 10 Buster. To go along with this, their original graphics stack is being retired in favour of using the Mesa "V3D" driver developed by Eric Anholt at Broadcom. They say it has allowed them to remove "roughly half of the lines of closed-source code in the platform" which is a nice win.

  • Raspberry Pi 4 Announced With Dual HDMI, USB 3.0, Gigabit Ethernet, V3D Driver Stack

    Managing to make it out today as a surprise is the Raspberry Pi 4. The Raspberry Pi 4 is a major overhaul and their most radical update yet while base pricing still starts out at $35 USD.

    First of all, the Raspberry Pi SoC now features a quad-core Cortex-A72 CPU that can clock up to 1.5GHz for offering around three times faster performance. This SoC is the Broadcom BCM2711. There are also three variants of the Raspberry Pi 4 to offer 1GB, 2GB or 4GB of system memory -- the 1GB version will be $35, 2GB at $45, and 4GB at $55. With the new Raspberry Pi 4 SoC they are also now making use of the modern Broadcom V3D open-source driver to offer much better OpenGL support and even Vulkan eventually. The Raspberry Pi 4 with its much better graphics/display setup can even drive two displays via micro-HDMI connections.

  • How to Cool Your Raspberry Pi

    If you're overclocking your Raspberry Pi, you might run into overheating problems. Fortunately, you can prevent this by adding sufficient cooling to your Pi

  • Raspberry Pi 4 Is Here With 4GB LPDDR4 RAM And Faster SoC

    The Raspberry Pi Foundation has unveiled the Raspberry Pi 4 which is touted to be the fastest Raspberry Pi ever. The foundation promises a “complete desktop experience” with the upgrades it has included in the Raspberry Pi 4.

    Physically, you wouldn’t notice any difference as the Raspberry Pi 4 Model B looks similar to the Raspberry Pi 3 Model B+. However, you’ll feel the upgrades inside the hood as the latest Raspberry Pi edition comes packed with a faster SoC. The Raspberry Pi 4 now comes with a Cortex-A72 architecture (ARM v8) 64-bit SoC at 1.5Ghz.

  • Raspberry PI 4 Released – Complete specs and pricing

    new version of the Raspberry PI 4 model has been released, and it is incredible update over the older model. A few years ago, I got Raspberry Pi 3 . It was my first 64-bit ARM board. It came with a 64-bit CPU. Here are the complete specs for an updated 64-bit credit card size Raspberry PI 4 desktop computer level of performance.

  • Raspberry Pi 4 Is Here – Buy Now

    Your Raspberry Pi 4 will be shipped with new Debian 10 based distro giving you cutting-edge applications, new features, and modern theme.

  • Raspberry Pi 4 Model B announced

    We will release an image to support the device shortly. Our initial release will support software decoding only, although we will test the feasibility of backporting 4K (albeit SDR) decoding with Kodi v18.

    We plan to support 4K and HDR with Kodi Matrix (v19) builds which are expected to be released as a stable version by the end of 2020 / early 2021. Kodi is removing support for proprietary hardware decoding interfaces and for Linux the new method of hardware accelerated playback will be via V4L2/GBM. Development for this is still in early stages, and a number of important changes are expected to land in Linux kernel 5.2 at a minimum. Presently, the Pi 4 is supported on a 4.19 kernel, so it will be some time before all of the necessary support is there for hardware accelerated playback and features such as HD audio passthrough.

    The work on V4L2/GBM will be beneficial to other devices such as Vero 4K +, and will allow us to begin developing support for x86 devices in the near future as well.

    OSMC would like to thank the Raspberry Pi foundation for making test units available in advance of the release and for their continued support.

Official Raspberry Pi OS Updated with Raspberry Pi 4 Support

  • Official Raspberry Pi OS Updated with Raspberry Pi 4 Support, Based on Debian 10

    With the launch of the Raspberry Pi 4 SBC series, the Raspberry Pi Foundation released a new version of Raspbian OS, the official Raspberry Pi operating system based on the popular Debian GNU/Linux distribution. This release adds numerous new features and improvements, but the biggest change is that it supports the Raspberry Pi 4 Model B single-board computer.

    Another major change in the new Raspbian OS release is that the entire operating system has been rebased on the soon-to-be-released Debian GNU/Linux 10 "Buster" operating system series, due for release next month on July 6th. This means that there are numerous updated components included in Raspbian 2019-06-20, along with lots of bug fixes and improvements.

The Raspberry Pi 4 original post

  • Raspberry Pi 4 on sale now from $35

    We have a surprise for you today: Raspberry Pi 4 is now on sale, starting at $35. This is a comprehensive upgrade, touching almost every element of the platform. For the first time we provide a PC-like level of performance for most users, while retaining the interfacing capabilities and hackability of the classic Raspberry Pi line.

Raspberry Pi 4 revealed

  • Raspberry Pi 4 revealed: It’s a massive upgrade for the same price

    The Raspberry Pi series is arguably responsible for accelerating the single-board computer sector, giving people a capable computing platform for a cheap price. Now, the Raspberry Pi Foundation has announced the Raspberry Pi 4, and it’s a big upgrade over the Raspberry Pi 3 Model B+.

    The biggest Raspberry Pi 4 upgrade is arguably in the chipset (BCM2711), as we’ve now got four Cortex-A72 CPU cores. This is a massive step up from the Model B+, which offered power-sipping Cortex-A53 CPU cores. In fact, the foundation says you can expect a 3x performance boost over the old chipset. We also see a RAM upgrade from LPDDR2 to LPDDR4 with the new model.

$35 Raspberry Pi 4 could be your next computer

  • $35 Raspberry Pi 4 could be your next computer

    The Raspberry Pi 4 has just been announced by the Raspberry Pi Foundation. The Raspberry Pi boards have been evolving quite nicely over the last few years and becoming more powerful along the way. This latest version has up to 4GB RAM, 4K dual displays, 1.5Ghz processor and USB 3.0. Instead of a Micro USB port for power like it’s predecessor, this model uses a USB Type-C port.

    We have the base Raspberry Pi 4 model for $35 that has 1GB LPDDR4 RAM, $45 gets you 2GB RAM, and $55 gets you 4GB onboard RAM. You have a faster CPU, GPU and faster Ethernet and dual-band Wi-Fi. It also has twice the amount of HDMI outputs than the previous model and two USB 3 ports. The HDMI ports can power two 4K monitors at 30 frames per second.

Latest News About Raspberry Pi 4

  • The Raspberry Pi 4 is Here — And It’s a BEAST!

    The Raspberry Pi 4 has arrived, albeit much sooner than anyone (even Raspberry Pi themselves) expected!

    But what an update it is.

    Sporting several major upgrades, the new Raspberry Pi 4 can claim to be the fastest and most versatile version of the single board computer yet. Better still, the price continues to start at same low $35/£35 entry point touted by earlier models.

    Read on to learn more about the Raspberry Pi 4 specs and new features, and to find out where you can buy a Raspberry Pi 4 for yourself.

  • With Upgraded Specs, Raspberry Pi 4 Takes Aim at Desktop Segment

    Raspberry Pi 4 is here with the upgraded technical specifications. You get up to 4 GB of RAM and you can connect two 4K displays with it. With the new hardware, you should be more comfortable using it as a desktop. Starting price remains the $35 like the previous models.

    The Raspberry Pi Foundation has just launched the new Raspberry Pi 4 Model B.

    It comes with some impressive upgrades which makes one of the most powerful single board computers under $40.

  • Quad -A72 Raspberry Pi 4 finally gets its RAM

    The Raspberry Pi 4 has launched with a 1.5GHz quad-core, Cortex-A72 Broadcom SoC, up to 4GB RAM, native GbE, USB 3.0 and Type-C ports, and a second micro-HDMI for dual 4K displays.

    Eben Upton announced the Raspberry Pi 4 Model B as a “surprise,” which is generally true of any new Pi launch, but in even more so here. in February, the RPi Trading CEO hinted that the next Pi would not arrive until 2020. But here it is, checking off multiple wishlist items, including the biggest one: more RAM. Although you can buy a 1GB version for the same $35 price, there’s also a 2GB version for $45 and a 4GB model for $55, all with speedier LPDDR4 RAM.

  • 4 of the Best Lightweight Operating Systems for Raspberry Pi

    The Raspberry Pi is a super-affordable single board computer that be can be used for a variety of different projects. Some of the most popular uses of the Raspberry Pi are to turn it into a dedicated media player with OSMC or a videogame emulation machine with RetroPie or Recalbox. Given the versatility of the Raspberry Pi, some have wondered if it could replace a traditional desktop computer. While the Raspberry Pi has significant hardware limitations, the following lightweight operating systems certainly think so. Note: The Raspberry Pi has a number of different models on the market.

  • Latest Pi-top is a Raspberry Pi 4-based mini-PC

    Pi-top announced a “Pi-top [4]” mini-PC based on the new Raspberry Pi 4 with an integrated OLED display, a battery, and a dozen component modules ranging from sensor to potentiometers.

    Pi-top has preannounced its first mini-PC form factor Pi-top and the first Pi accessory to feature the new Raspberry Pi 4 Model B. Like its earlier, laptop style Pi-top models, the Pi-top [4] offers a hacking bay for connecting component modules to the Pi’s GPIO.

The Raspberry Pi 4 launch site runs on a Pi 4 cluster

Benchmarks available

  • Raspberry Pi 4B 32 Bit Benchmarks

    This report contains results of my numerous benchmarks run on the Raspberry Pi 4. In this case, they were 32 bit versions using Raspbian Buster Operating System. Existing benchmarks were used to provide comparisons with the old 3B+ model. The benchmarks were also recompiled using gcc 8, that came with Buster, to provide further comparisons. The early opportunity to run the programs was due to my acceptance of the request for me to become a volunteer consultant, exercising the system prior to launch.

Raspberry Pi 4 v 3B+: first hands-on review!

  • Raspberry Pi 4 v 3B+: first hands-on review! - Learning by Making

    Raspberry Pi stunned the computing world when they announced RPi4 in June 2019. Creative design company pi-top have had pre-release models for a while now. So in this first hands-on review, gadget fan Jason Bradbury and pi-top VP of Technology Wil Bennett, put the Raspberry Pi 4 through it paces in a series of tests against the 3B+. Here’s what’s changed… oh and TL;DR you should get one.
    As Raspberry Pi inventor and CEO, Eben Upton, said in an exclusive interview on pi-top’s podcast earlier this year, there are two types of RPi upgrades — evolution and revolution.

More Raspberry Pi 4

Raspberry Pi 4 Benchmarks & Mini Review

Run Kodi on Raspberry Pi 4 with Linux-based LibreELEC

  • Run Kodi on Raspberry Pi 4 with Linux-based LibreELEC (Leia) 9.2 ALPHA1

    While some folks use Raspberry Pi devices for tinkering, creating, and other geeky projects, many others simply use it for media playback. You see, thanks to the Linux-based LibreELEC operating system, you can easily run the Kodi media center on the tiny computer. Believe it or not, LibreELEC runs very well on Pi computers too -- it is a solid media consumption experience.

    Yesterday, the Raspberry Pi 4 was announced with better specs and new ports, such as dual micro-HDMI which are capable of 4K video! You can even opt for up to 4GB of RAM -- quadruple what was previously available. Understandably, Kodi users were drooling over the possibility of running LibreELEC on the Raspberry Pi 4. Well, good news -- there is already an alpha build of the Linux distro for the newest Pi.

Next-Gen Raspberry Pi 4 Packs Power Plus Potential

  • Next-Gen Raspberry Pi 4 Packs Power Plus Potential

    The next big Raspberry Pi thing is now here, with lots more computing power and more options.

    The Raspberry Pi Foundation on Monday announced the availability of Raspberry Pi 4, a comprehensive upgrade that touches nearly every element of the computing platform.

    Raspberry Pi 4 offers users a choice of three memory capacities. The entry-level 1 GB RAM retains the signature US$35 price; 2 GB costs $45; 4 GB sells for $55. Prices exclude sales tax, import duty (where appropriate) and shipping.

Raspberry Pi 4 Is Here

  • Raspberry Pi 4 Is Here

    The new model has the same form factor and pricing. Yes! It’s still being sold for $35. But it has everything else improved. Pi 4 features a 64-bit ARM Cortex-A72 CPU running at 1.5Ghz. Now you can get up to 4GB of LPDDR4 SDRAM and full-throughput Gigabit Ethernet. It has two USB 3.0 and two USB 2.0 ports. You can now connect two monitors running at 4K resolution. It also has 4Kp60 hardware decode of HEVC video. Instead of using the old micro-USB for power, it’s now using USB-C.

Raspberry Pi users: You got Pi 4

The reason for jumping ahead of the official release date is the Raspberry Pi 4. The Raspberry Pi Foundation unveiled the new computer this week, which for the first time is available with three different memory capacities.

It still starts at $35 for the 1GB model, but will also be available 2GB of RAM for $45 and 4GB of RAM for $55. There's also dual-screen support.

Unlike previous models, the Raspberry Pi 4 uses the open-source OpenGL video driver by default, which is supported in Debian Buster.

"It would have been a lot of work to port everything required for it back on to Raspbian Stretch, so we decided that we would launch on Raspbian Buster – the only question was whether Buster would be ready before the hardware was," said Simon Long, a senior principal software engineer for the foundation.

"The official launch date for Buster is July 7, so we are a couple of weeks ahead. That said, Buster has been in a 'frozen' state for a couple of months now, with only minor changes being made to it, so the version we are releasing is pretty much identical to that which will be officially released by Debian on July 7."

Read more

Late Coverage by Liliputing's Brad Linder

  • New Raspberry Pi, new Raspbian operating system

    The Raspberry Pi 4 is now available for purchase for $35 and up and along with a faster processor, support for dual dual displays and options for 1GB, 2GB, or 4GB of RAM, the new single-board computer is getting a new GNU/Linux distribution.

    While the Raspberry Pi can run a variety of operating systems, the Debian-based Raspbian operating system is the version officially supported by the folks at the Raspberry Pi foundation. And the latest version includes support for a new open source OpenGL video driver, security updates, and a simpler user interface.

Raspbian Buster

  • Buster – the new version of Raspbian

    Amid all the furore about the release of a certain new piece of hardware, some people may have missed that we have also released a new version of Raspbian. While this is required for Raspberry Pi 4, we’ve always tried to maintain software backwards-compatibility with older hardware, and so the standard Raspbian image for all models of Raspberry Pi is now based on Buster, the latest version of Debian Linux.

  • Raspberry Pi 4: Raspbian ‘Buster’ interview

    The launch of Raspberry Pi 4 brings not only new hardware but new software too: Raspbian ‘Buster’, a brand-new release – compatible, as always, with every Raspberry Pi model going right back to the pre-launch Alpha design – with a revamped, flatter user interface based on the upstream Debian ‘Buster’ Linux distribution.

    Simon Long explains: “Due to the lack of obvious differences between Buster and Stretch, I wanted to do something to make it a bit more obvious that people actually had something new,” of his new interface design. When we moved from Jessie to Stretch, there was a similar lack of major differences, and people wondered whether or not they actually had the new version – I wanted to avoid that this time. Also, the overall UI design in terms of the appearance of buttons, controls, and the like really hasn’t changed significantly in the time I’ve been here – there have been some small tweaks, but it felt time for a change.”

  • Upgrade Your Raspberry Pi to Raspbian Buster, Without Losing Data

    While it was the launch of the Raspberry Pi 4 that snagged all the headlines this week, it wasn't the only new product to come out of the Raspberry Pi Foundation. The not-for-profit also released a new version of its Raspbian Linux distribution, dubbed 'Buster.' You need Buster to run Raspberry Pi 4, but it also works on and improves the experience for any older Raspberry Pi.

How to use your Raspberry Pi as a VPN server

  • How to use your Raspberry Pi as a VPN server

    In 2019, is there anything that the mighty, $35, credit card-sized Raspberry Pi computer can't do? It seems there isn't; recent Raspberry Pi projects include a functional smartphone, a computer vision kit, and even a movie projector for a more traditional home theater experience.

    A Raspberry Pi (RPi) can even be turned into a server for virtual private networking (VPN). One of the many things you can tinker with on an RPi is data communications; this is one reason why they are often called "Swiss Army knives for hackers"—and not necessarily the malicious kind.

    RPis can function as servers for many projects, and if you have more than one personal computing device on a personal network, the RPi can be put to work as a dedicated server. From Minecraft servers to website hosts to IRC to network printing operations, many of these projects involve a series of software installation and configuration steps, as is the case for the RPi VPN server you'll build in this tutorial.

Install and Use Docker on Raspberry Pi

  • Install and Use Docker on Raspberry Pi

    Docker is a containerization platform that allows you to quickly build, test and deploy applications as portable, self-sufficient containers that can virtually run everywhere. In this tutorial, we will explain how to install Docker on Raspberry Pi and explore the basic Docker concepts and commands.

Raspberry Pi Beginner's Guide updated for Raspberry Pi 4

Updates from Raspberrypi-land

  • Updates from Raspberrypi-land

    I was feeling sad and depressed because it's already late June... And I had not had enough time to get the unofficial Debian Buster Raspberry preview images booting on the entry-level models of the family (Broadcom 2835-based Raspberries 1A, 1B, 0 and 0W). But, this morning I found a very interesting pull request open in our GitHub repository!

    Dispatched some piled-up work, and set an image build. Some minutes later, I had a shiny image, raspi0w.tar.gz. Quickly fired up dd to prepare an SD card. Searched for my RPi0w under too many papers until I found it.

Raspberry Pi 4: This thing is a PC, says board's creator

  • Raspberry Pi 4: This thing is a PC, says board's creator Eben Upton

    The new Raspberry Pi 4 Model B is out today, and sees the low-cost computer transformed into a far more capable machine.

    Based around a new hardware platform, the new board packs in up to 4GB memory, USB 3.0, dual 4K display support, and a faster and newer CPU and GPU.

    If you're interested in what the new board can do and how it compares to earlier Raspberry Pi computers, check out our review and benchmarks or our guided tour of the new board .

    The Pi 4 has been three years in the making and arrives one year earlier than anyone expected.

    We spoke to Eben Upton, co-creator of the Raspberry Pi and Raspberry Pi Trading CEO, about the decisions that shaped the Raspberry Pi 4 and what new uses it opens up for the Pi.

Brian Fagioli obviously and maybe knowingly exaggerating

  • Don't buy the faulty Raspberry Pi 4 -- get a different Linux-compatible single-board computer instead

    Raspberry Pi computers are pretty damn great. Not only are they small and inexpensive, but they are ideal for tinkering and learning. And yes, they can serve as excellent media boxes thanks to the Linux-based LibreELEC. With the Raspberry Pi 4, however, it is finally powerful enough to serve as a true desktop computer -- prior models were capable, but offered woefully slow desktop experiences.

    With all of that said, surely the Raspberry Pi 4 is highly recommended, right? Actually no. Sadly, we must warn you not to buy this seemingly solid piece of hardware. Unfortunately, it has one massive faulty aspect, meaning you should probably pass on it.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

today's howtos and programming bits

  • How to fix trailing underscores at the end of URLs in Chrome
  • How to Install Ubuntu Alongside With Windows 10 or 8 in Dual-Boot
  • Beginner’s guide on how to git stash :- A GIT Tutorial
  • Handy snapcraft features: Remote build
  • How to build a lightweight system container cluster
  • Start a new Cryptocurrency project with Python
  • [Mozilla] Celery without a Results Backend
  • Mucking about with microframeworks

    Python does not lack for web frameworks, from all-encompassing frameworks like Django to "nanoframeworks" such as WebCore. A recent "spare time" project caused me to look into options in the middle of this range of choices, which is where the Python "microframeworks" live. In particular, I tried out the Bottle and Flask microframeworks—and learned a lot in the process. I have some experience working with Python for the web, starting with the Quixote framework that we use here at LWN. I have also done some playing with Django along the way. Neither of those seemed quite right for this latest toy web application. Plus I had heard some good things about Bottle and Flask at various PyCons over the last few years, so it seemed worth an investigation. Web applications have lots of different parts: form handling, HTML template processing, session management, database access, authentication, internationalization, and so on. Frameworks provide solutions for some or all of those parts. The nano-to-micro-to-full-blown spectrum is defined (loosely, at least) based on how much of this functionality a given framework provides or has opinions about. Most frameworks at any level will allow plugging in different parts, based on the needs of the application and its developers, but nanoframeworks provide little beyond request and response handling, while full-blown frameworks provide an entire stack by default. That stack handles most or all of what a web application requires. The list of web frameworks on the Python wiki is rather eye-opening. It gives a good idea of the diversity of frameworks, what they provide, what other packages they connect to or use, as well as some idea of how full-blown (or "full-stack" on the wiki page) they are. It seems clear that there is something for everyone out there—and that's just for Python. Other languages undoubtedly have their own sets of frameworks (e.g. Ruby on Rails).

Kernel: Linux 5.3, DragonFlyBSD Takes Linux Bits, LWN Paywall Expires for Recent Articles

  • Ceph updates for 5.3-rc1
    Hi Linus,
    
    The following changes since commit 0ecfebd2b52404ae0c54a878c872bb93363ada36:
    
    Linux 5.2 (2019-07-07 15:41:56 -0700)
    
    are available in the Git repository at:
    
    https://github.com/ceph/ceph-client.git tags/ceph-for-5.3-rc1
    
    for you to fetch changes up to d31d07b97a5e76f41e00eb81dcca740e84aa7782:
    
    ceph: fix end offset in truncate_inode_pages_range call (2019-07-08 14:01:45 +0200)
    
    There is a trivial conflict caused by commit 9ffbe8ac05db
    ("locking/lockdep: Rename lockdep_assert_held_exclusive() ->
    lockdep_assert_held_write()"). I included the resolution in
    for-linus-merged.
    
  • Ceph Sees "Lots Of Exciting Things" For Linux 5.3 Kernel

    Ceph for Linux 5.3 is bringing an addition to speed-up reads/discards/snap-diffs on sparse images, snapshot creation time is now exposed to support features like "restore previous versions", support for security xattrs (currently limited to SELinux), addressing a missing feature bit so the kernel client's Ceph features are now "luminous", better consistency with Ceph FUSE, and changing the time granularity from 1us to 1ns. There are also bug fixes and other work as part of the Ceph code for Linux 5.3. As maintainer Ilya Dryomov put it, "Lots of exciting things this time!"

  • The NVMe Patches To Support Linux On Newer Apple Macs Are Under Review

    At the start of the month we reported on out-of-tree kernel work to support Linux on the newer Macs. Those patches were focused on supporting Apple's NVMe drive behavior by the Linux kernel driver. That work has been evolving nicely and is now under review on the kernel mailing list. Volleyed on Tuesday were a set of three patches to the Linux kernel's NVMe code for dealing with the Apple hardware of the past few years in order for Linux to deal with these drives. On Apple 2018 systems and newer, their I/O queue sizing/handling is odd and in other areas not properly following NVMe specifications. These patches take care of that while hopefully not regressing existing NVMe controller support.

  • DragonFlyBSD Pulls In The Radeon Driver Code From Linux 4.4

    While the Linux 4.4 kernel is quite old (January 2016), DragonFlyBSD has now re-based its AMD Radeon kernel graphics driver against that release. It is at least a big improvement compared to its Radeon code having been derived previously from Linux 3.19. DragonFlyBSD developer François Tigeot continues doing a good job herding the open-source Linux graphics driver support to this BSD. With the code that landed on Monday, DragonFlyBSD's Radeon DRM is based upon the state found in the Linux 4.4.180 LTS tree.

  • Destaging ION

    The Android system has shipped a couple of allocators for DMA buffers over the years; first came PMEM, then its replacement ION. The ION allocator has been in use since around 2012, but it remains stuck in the kernel's staging tree. The work to add ION to the mainline started in 2013; at that time, the allocator had multiple issues that made inclusion impossible. Recently, John Stultz posted a patch set introducing DMA-BUF heaps, an evolution of ION, that is designed to do exactly that — get the Android DMA-buffer allocator to the mainline Linux kernel. Applications interacting with devices often require a memory buffer that is shared with the device driver. Ideally, it would be memory mapped and physically contiguous, allowing direct DMA access and minimal overhead when accessing the data from both sides at the same time. ION's main goal is to support that use case; it implements a unified way of defining and sharing such memory buffers, while taking into account the constraints imposed by the devices and the platform.

  • clone3(), fchmodat4(), and fsinfo()

    The kernel development community continues to propose new system calls at a high rate. Three ideas that are currently in circulation on the mailing lists are clone3(), fchmodat4(), and fsinfo(). In some cases, developers are just trying to make more flag bits available, but there is also some significant new functionality being discussed. clone3() The clone() system call creates a new process or thread; it is the actual machinery behind fork(). Unlike fork(), clone() accepts a flags argument to modify how it operates. Over time, quite a few flags have been added; most of these control what resources and namespaces are to be shared with the new child process. In fact, so many flags have been added that, when CLONE_PIDFD was merged for 5.2, the last available flag bit was taken. That puts an end to the extensibility of clone().

  • Soft CPU affinity

    On NUMA systems with a lot of CPUs, it is common to assign parts of the workload to different subsets of the available processors. This partitioning can improve performance while reducing the ability of jobs to interfere with each other. The partitioning mechanisms available on current kernels might just do too good a job in some situations, though, leaving some CPUs idle while others are overutilized. The soft affinity patch set from Subhra Mazumdar is an attempt to improve performance by making that partitioning more porous. In current kernels, a process can be restricted to a specific set of CPUs with either the sched_setaffinity() system call or the cpuset mechanism. Either way, any process so restricted will only be able to run on the specified CPUs regardless of the state of the system as a whole. Even if the other CPUs in the system are idle, they will be unavailable to any process that has been restricted not to run on them. That is normally the behavior that is wanted; a system administrator who has partitioned a system in this way probably has some other use in mind for those CPUs. But what if the administrator would rather relax the partitioning in cases where the fenced-off CPUs are idle and going to waste? The only alternative currently is to not partition the system at all and let processes roam across all CPUs. One problem with that approach, beyond losing the isolation between jobs, is that NUMA locality can be lost, resulting in reduced performance even with more CPUs available. In theory the AutoNUMA balancing code in the kernel should address that problem by migrating processes and their memory to the same node, but Mazumdar notes that it doesn't seem to work properly when memory is spread out across the system. Its reaction time is also said to be too slow, and the cost of the page scanning required is high.

How the Open Source Operating System Has Silently Won Over the World

The current and future potential for Linux based systems is limitless. The system’s flexibility allows for the hardware that uses it to be endlessly updated. Functionality can, therefore, be maintained even as the technology around the devices change. This flexibility also means that the function of the hardware can be modified to suit an ever-changing workplace. For example, because the INSYS icom OS has been specifically designed for use in routers, this has allowed it to be optimised to be lightweight and hardened to increase its security. Multipurpose OS have large libraries of applications for a diverse range of purposes. Great for designing new uses, but these libraries can also be exploited by actors with malicious intent. Stripping down these libraries to just what is necessary through a hardening process can drastically improve security by reducing the attackable surfaces. Overall, Windows may have won the desktop OS battle with only a minority of them using Linux OS. However, desktops are only a minute part of the computing world. Servers, mobile systems and embedded technology that make up the majority are predominately running Linux. Linux has gained this position by being more adaptable, lightweight and portable than its competitors. Read more

Operating-System-Directed Power-Management (OSPM) Summit

  • The third Operating-System-Directed Power-Management summit

    he third edition of the Operating-System-Directed Power-Management (OSPM) summit was held May 20-22 at the ReTiS Lab of the Scuola Superiore Sant'Anna in Pisa, Italy. The summit is organized to collaborate on ways to reduce the energy consumption of Linux systems, while still meeting performance and other goals. It is attended by scheduler, power-management, and other kernel developers, as well as academics, industry representatives, and others interested in the topics.

  • The future of SCHED_DEADLINE and SCHED_RT for capacity-constrained and asymmetric-capacity systems

    The kernel's deadline scheduling class (SCHED_DEADLINE) enables realtime scheduling where every task is guaranteed to meet its deadlines. Unfortunately SCHED_DEADLINE's current view on CPU capacity is far too simple. It doesn't take dynamic voltage and frequency scaling (DVFS), simultaneous multithreading (SMT), asymmetric CPU capacity, or any kind of performance capping (e.g. due to thermal constraints) into consideration. In particular, if we consider running deadline tasks in a system with performance capping, the question is "what level of guarantee should SCHED_DEADLINE provide?". An interesting discussion about the pro and cons of different approaches (weak, hard, or mixed guarantees) developed during this presentation. There were many different views but the discussion didn't really conclude and will have to be continued at the Linux Plumbers Conference later this year. The topic of guaranteed performance will become more important for mobile systems in the future as performance capping is likely to become more common. Defining hard guarantees is almost impossible on real systems since silicon behavior very much depends on environmental conditions. The main pushback on the existing scheme is that the guaranteed bandwidth budget might be too conservative. Hence SCHED_DEADLINE might not allow enough bandwidth to be reserved for use cases with higher bandwidth requirements that can tolerate bandwidth reservations not being honored.

  • Scheduler behavioral testing

    Validating scheduler behavior is a tricky affair, as multiple subsystems both compete and cooperate with each other to produce the task placement we observe. Valentin Schneider from Arm described the approach taken by his team (the folks behind energy-aware scheduling — EAS) to tackle this problem.

  • CFS wakeup path and Arm big.LITTLE/DynamIQ

    "One task per CPU" workloads, as emulated by multi-core Geekbench, can suffer on traditional two-cluster big.LITTLE systems due to the fact that tasks finish earlier on the big CPUs. Arm has introduced a more flexible DynamIQ architecture that can combine big and LITTLE CPUs into a single cluster; in this case, early products apply what's known as phantom scheduler domains (PDs). The concept of PDs is needed for DynamIQ so that the task scheduler can use the existing big.LITTLE extensions in the Completely Fair Scheduler (CFS) scheduler class. Multi-core Geekbench consists of several tests during which N CFS tasks perform an equal amount of work. The synchronization mechanism pthread_barrier_wait() (i.e. a futex) is used to wait for all tasks to finish their work in test T before starting the tasks again for test T+1. The problem for Geekbench on big.LITTLE is related to the grouping of big and LITTLE CPUs in separate scheduler (or CPU) groups of the so-called die-level scheduler domain. The two groups exists because the big CPUs share a last-level cache (LLC) and so do the LITTLE CPUs. This isn't true any more for DynamIQ, hence the use of the "phantom" notion here. The tasks of test T finish earlier on big CPUs and go to sleep at the barrier B. Load balancing then makes sure that the tasks on the LITTLE CPUs migrate to the big CPUs where they continue to run the rest of their work in T before they also go to sleep at B. At this moment, all the tasks in the wake queue have a big CPU as their previous CPU (p->prev_cpu). After the last task has entered pthread_barrier_wait() on a big CPU, all tasks on the wake queue are woken up.

  • I-MECH: realtime virtualization for industrial automation

    The typical systems used in industrial automation (e.g. for axis control) consist of a "black box" executing a commercial realtime operating system (RTOS) plus a set of control design tools meant to be run on a different desktop machine. This approach, besides imposing expensive royalties on the system integrator, often does not offer the desired degree of flexibility for testing/implementing novel solutions (e.g., running both control code and design tools on the same platform).

  • Virtual-machine scheduling and scheduling in virtual machines

    As is probably well known, a scheduler is the component of an operating system that decides which CPU the various tasks should run on and for how long they are allowed to do so. This happens when an OS runs on the bare hardware of a physical host and it is also the case when the OS runs inside a virtual machine. The only difference being that, in the latter case, the OS scheduler marshals tasks among virtual CPUs. And what are virtual CPUs? Well, in most platforms they are also a kind of special task and they want to run on some CPUs ... therefore we need a scheduler for that! This is usually called the "double-scheduling" property of systems employing virtualization because, well, there literally are two schedulers: one — let us call it the host scheduler, or the hypervisor scheduler — that schedules the virtual CPUs on the host physical CPUs; and another one — let us call it the guest scheduler — that schedules the guest OS's tasks on the guest's virtual CPUs. Now what are these two schedulers? That depends on the virtualization platform. They are always different, in the sense that it will never happen that, at runtime, a scheduler has to deal with scheduling virtual CPUs and also scheduling tasks that want to run on those same virtual CPUs (well, it can happen, but then you are not doing virtualization). They can be the same, in terms of code, or they can be completely different from that respect as well.

  • Rock and a hard place: How hard it is to be a CPU idle-time governor

    In the opening session of OSPM 2019, Rafael Wysocki from Intel gave a talk about potential problems faced by the designers of CPU idle-time-management governors, which was inspired by his own experience from the timer-events oriented (TEO) governor work done last year. In the first place, he said, it should be noted that "CPU idleness" is defined at the level of logical CPUs, which may be CPU cores or simultaneous multithreading (SMT) threads, depending on the hardware configuration of the processor. In Linux, a logical CPU is idle when there are no runnable tasks in its queue, so it falls back to executing the idle task associated with it (there is one idle task for each logical CPU in the system, but they all share the same code, which is the idle loop). Therefore "CPU idleness" is an OS (not hardware) concept and if the idle loop is entered by a CPU, there is an opportunity to save some energy with a relatively small impact on performance (or even without any impact on performance at all) — if the hardware supports that. The idle loop runs on each idle CPU and it only takes this particular CPU into consideration. As a rule, two code modules are invoked in every iteration of it. The first one, referred to as the CPU idle-time-management governor, is responsible for deciding whether or not to stop the scheduler tick and what to tell the hardware to do; the second one, called the CPU idle-time-management driver, passes the governor's decisions down to the hardware, usually in an architecture- or platform-specific way. Then, presumably, the processor enters a special state in which the CPU in question stops fetching instructions (that is, it does literally nothing at all); that may allow the processor's power draw to be reduced and some energy to be saved as a result. If that happens, the processor needs to be woken up from that state by a hardware event after spending some time, referred to as the idle duration, in it. At that point, the governor is called again so it can save the idle-duration value for future use.