Subject: [bug#42686] Update to linux-libre 5.7

From: Mathieu Othacehe <[email-masked]>
Date: Mon, 03 Aug 2020 10:08:41 +0200

Hey Leo,

> The attached patch updates our default kernel to linux-libre 5.7.
>
> Among other things, this will bring in-kernel WireGuard support,
> multipath TCP, and USB4 (Thunderbolt).
>
> I tested on x86_64 bare-metal and virtualized i686.
>
> I'd like to push this as a "kernel-updates" branch and let Cuirass build
> it. In the past, we always did this so that nobody had to build it
> themselves. CI admins, can we do this? I don't have another way to test
> for ARM platforms.

Nice! Adding a new branch to the CI will only allow us to know if this
builds for armhf-linux and aarch64-linux architectures. You should be
able to do that on your machine with the following commands:

guix build -s armhf-linux linux-libre
guix build -s aarch64-linux linux-libre

but you need to setup qemu-binfmt first. It would also be nice to test
cross-compilation this way:

guix build -t arm-linux-gnueabihf linux-libre
guix build -t aarch64-linux-gnu linux-libre

> * Enable the compressed cache for swap pages by default? (ZSWAP_DEFAULT_ON)
>
> Should we enable this? It seems useful and the compression algorithms
> are known to be very fast. Are there any downsides?

There's at least Archlinux that is enabling it by default[1], but using LZ4
algorithm instead of the default LZO. No strong opinion otherwise.

> * Enable the DMA-BUF userland memory heaps? This options creates per
> heap chardevs in /dev/dma_heap/ which allows userspace to allocate
> dma-bufs that can be shared between drivers. (DMABUF_HEAPS)
>
> I don't really know what that means.

I think it's targeting embedded devices mainly, but it can't hurt to
enable it.

>
> * Should USB4 (Thunderbolt) be built-in? Or a module?

I would say a module, like most other device drivers.

Thanks,

Mathieu

[1]: https://github.com/archlinux/svntogit-packages/blob/packages/linux/trunk/config#L1044