Linus Torvalds talks Rust on Linux, his work schedule, and life with his M2 MacBook Air

linus-torvalds.jpg

krd

Dublin, Ireland: I've known Linus Torvalds for decades, but since Covid hit, we haven't had a chance for a face-to-face interview in years. Finally, at 2022's Linux Plumbers Conference, the annual get-together of the world's top Linux developers, we had a chance to talk in person again.

Before the conference, Torvalds had spent six days scuba-diving at Bonaire, an island in the Dutch West Indies. Given the choice, he said he'd “rather be diving than going to conferences.” Wouldn't we all?

Torvalds also said that, although he works a lot on the Linux kernel, he's no workaholic: 

Really, the reason I can still do it year after year is I can walk away from it. But I don't walk away for long because I get bored. The only time I feel like I have long days and it gets exhausting is at the beginning of a merge. Even then, I try to do all the major stuff in the first week when I can focus. 

If you want to know who the real workaholic of the Linux kernel is, Torvalds suggests you look at Greg Kroah-Hartmann, the stable Linux kernel maintainer. “I don't know how he does it,” Torvalds confided. “I think he's automating a lot of it, but it's unending, and he does it every week.”

Covid, however, had little to no effect on Linux kernel development. Of course, Torvalds has been working from home for years as have many of the top kernel maintainers. The one big change is that for the “first time in years, we have a face-to-face Plumbers and Linux Kernel Maintainer Summit,” a round table of the top 20 kernel maintainers. 

The other big difference, said Torvalds, is the developers who hadn't been working at home found, by and large, that they liked working from home. Torvalds expects many of them to continue doing exactly that.

That isn't to say there haven't been any changes. Torvalds agreed with Linux kernel developer Jonathan Corbitt, who earlier in the day at the nearby Open Source Summit Europe had said that “Instead of lone Linux subsystem maintainers, teams are often now managing subsystems, and it's working well.”  Torvalds added, “Some subsystems are still being run by one person, but it's getting rare. It's not so much a committee as it tends to be a group of three people who take turns.” This takes the load off maintainers, and, as Corbitt puts it, helps code maintainers “be a lot happier and less grumpy in general.” And, no one wants to face a grumpy code maintainer when they're trying to get a code patch passed.

Speaking of grumpy, Torvalds, while not a huge Rust fan per se, is ready to see Rust make it into the Linux kernel: 

I already thought we'd have it for this one (Linux kernel 6.0), but clearly, that didn't happen. I'm not gonna say it will make it into 6.1 (Due out in October). But, it's been going on long enough that we just need to merge it because not merging it isn't helping anything. And it is going to happen. Sure, some people still think we might have trouble with it, but if there are problems two years down the road, we can fix them then.

One reason why Rust still hasn't quite made it in yet is some developers are concerned with all the non-standard Rust extensions needed to get it to work in Linux. For example, with the new Rust Linux NVMe driver, more than 70 extensions needed to be made to Rust to get it working. 

But, Torvalds said, we've been using exceptions to standard C for decades. “I've been very vocal on saying the standard in this area is crap. And we're going to ignore the standard because the standard is wrong. So the same is going to be true on the Rust side.”  

As far as he's concerned, the more important part is that the Rust compiler needs to be reliable and stable. One of the issues people have is that GCC Rust is most definitely not reliable or stable yet. So practically speaking, to do Linux Rust work right now, you have to use Clang. But, Torvalds added, “Clang does work, so merging Rust would probably help and not hurt the kernel.”

These days, when he's on the road, Torvalds is using an Apple MacBook Air with an M2 processor. On this hot new machine, he runs Fedora Workstation 36. He can't recommend this for mere mortals yet. There was no Fedora port for the ARM-64 M2 processor, so he did it himself. At the moment, the main Linux for M2 is Asahi Linux for Mac, which uses the obscure Pacman package manager. Or, as Torvalds put it, “Pacman!? What the hell!” But, he was able to quickly bring it to heel and get Fedora on it. 

Of course, it's not perfect yet. For example, the code doesn't support the M2 FPU, so Torvalds can't do 3D graphics, but “I don't need games.” Ironically, that also means some GNOME 40 graphical effects, such as the screen dimming, don't work, but “I like it that way, it makes the display more snappy. I may turn those off on my other machines as well.”

A trifle more annoying is that Chrome doesn't run on Linux on this platform yet. That's not much of a problem since the Chromium web browser does just fine on it. Except, “I keep my trivial passwords on Chrome Password Manager, so I have to port them over with my smartphone.” 

However, for what he really does for a living — patch and compile Linux kernels — the M2 Air does just fine. Even with only 16GBs of RAM and a 256GB SSD it works well. Of course, it runs even faster on his homebrew Linux workstation, but “I only brought my Mac Air on this trip. That's all I need.”

Linux software and Mac hardware are a match made in heaven. Or, a match made by Torvalds that makes him happy anyway. 

Related Stories:

Source