e1000e performance 30%+ slower on laptop Ubuntu vs Windows/Debian

Liam Proven lproven at gmail.com
Sun Jul 25 13:19:24 UTC 2021


On Sat, 24 Jul 2021 at 05:40, Little Girl <littlergirl at gmail.com> wrote:
>
> That's odd. Is that something that's commonly done? I've never heard
> of putting a driver into a kernel.

Yes. It is totally normal. The Linux kernel today is in fact _mostly_
drivers: millions of lines of code.

Linux has a fairly primitive OS design, compared to more modern ones
such as Mac OS X's xnu kernel, or the more modern-still xNix kernels
of Blackberry QNX and Minix 3.

The OS X kernel is big, because for performance, its Mach microkernel
has had, built into it, much of the BSD kernel as  well, to provide
Unix compatibility. The QNX and Minix 3 kernels are tiny, because all
this functionality is in external programs.

Linux uses the old-fashioned 1970s model: one single honking great
chunk of C code, but millions of people testing it and thousands
checking it for errors.

For the kernel to control hardware, it needs a driver, and if it needs
to use that hardware to boot, then it needs to be right there in the
kernel. Disk interfaces, text console, graphics mode setting, network
drivers, USB and Firewire and so on -- all used directly by the kernel
so needs to be part of the kernel.

Once a driver is in the kernel source code, when you compile the
kernel, there are 3 ways to use it:
[1] compile it in -- part of the binary, can't be removed
[2] make it a module -- on disk, loaded when needed (but you need to
access the disk to load it!)
[3] exclude it -- bank on it not being needed and leave it out.

But they're all "in the kernel".

Companies write their own drivers, e.g. for their own kit. But if they
wish they can make the code GPL and donate it and then it can, if the
kernel maintainers choose, be incorporated.

Intel is a bit of an also-ran in GPUs, after AMD and nVidia, so it
decided to boost its chances by making its graphics drivers GPL.
There's nothing worth copying in Intel GPUs anyway. There very much is
in AMD's and nVidia's, so their drivers are secret and we only get
compiled binaries.

When Intel did this, it also made a lot of its other hardware drivers
GPL too, as although Intel is close friends with Microsoft, it also
wants to be the platform of choice for Linux too.


On Sun, 25 Jul 2021 at 04:42, Little Girl <littlergirl at gmail.com> wrote:
>
> I'm just kind of surprised that the Ubuntu team would be willing to
> take on the work of upgrading and/or developing the driver when that
> was handled by Intel before.

It didn't. It doesn't.

Ubuntu does not write or develop the kernel. It has contributed code
to the kernel, sure, and it has significant in-kernel tech, such as
LXD and booting from ZFS, but most of its work is in the userland,
e.g. Snappy apps, Juju charms, or the GNOME shell tweaks, and desktop
integration.



--
Liam Proven – Profile: https://about.me/liamproven
Email: lproven at cix.co.uk – gMail/gTalk/gHangouts: lproven at gmail.com
Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven
UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053




More information about the ubuntu-users mailing list