e1000e performance 30%+ slower on laptop Ubuntu vs Windows/Debian
Liam Proven
lproven at gmail.com
Mon Jul 26 14:32:30 UTC 2021
On Sun, 25 Jul 2021 at 19:05, Little Girl <littlergirl at gmail.com> wrote:
It is hard to reply to this, because every single line contains a
misunderstanding, so I am not sure what to say.
I will try to limit myself to correcting the errors.
> So, neither Intel nor Ubuntu are continuing to develop the driver
This is not true.
Intel may well still do so -- it has a number of engineers working on
the Linux kernel, I believe.
Ubuntu never did work on it, as I tried to clarify in my last reply to you.
Ubuntu is a downstream distro of Debian, focussed mainly on improving
the integration of the desktop environment and more recently on some
server admin and virtualisation tools.
> and
> it's just kind of in the kernel as is,
Well, if the hardware is not changing, then the driver need not change.
The Linux kernel is, as I said, _huge_. Many millions of lines of
code; maybe tens of millions. Most of it does not change from one
release to the next. This is perfectly normal.
> with any future driver
> development
Future development of a driver? I am not sure that you fully
understand what device drivers are. Once a driver works fine and
supports all the features of the hardware it controls, then so long as
that hardware does not change, the driver need not change either.
A NIC is not as complex as a GPU.
GPU are vast, highly complex devices that need to work with thousands
of 3rd party programs, and which can perform thousands of complex
functions across multiple interfaces and display standards --
especially now that GPGPU code means some apps can run partly on GPUs.
A NIC has 1 port and speaks 1 protocol over that port for its entire
life, and it is controlled by 1 program: the device driver in the OS
kernel running on that computer.
> being totally reliant on the kindness of anyone who
> happens to want to work on it out in "userland"?
Um. No. "Userland" is a technical term and refers to the parts of an
operating system that run in CPU protection rings 1, 2 and 3 (on x86),
as opposed to the kernel which runs in ring 0 and hypervisors which
run in ring -1.
https://en.wikipedia.org/wiki/Protection_ring
https://en.wikipedia.org/wiki/User_space
It is nothing whatsoever to do with communities of human beings.
Operating systems are divided into layers. The innermost layer talks
directly ro the hardware and has full control over the machine. This
is usually called the kernel, because it is literally the core of the
system. A good modern design keeps this as small and simple as
possible, because that makes it easier to debug. Linux is not a good
modern design, as Prof Andy Tanenbaum noted when Linus Torvalds first
announced it, in a very famous thread:
https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate#:~:text=The%20debate%20opened%20on%20January,titled%20%22LINUX%20is%20obsolete%22.&text=For%20this%20reason%2C%20he%20stated,is%20more%20portable%20than%20minix.%22
The next layer is still part of the OS but doesn't talk to the
hardware, only to the kernel. It runs in a lower privilege zone,
called a protection ring. x86 originally had 4 but most OSes never
used more than 2 or very occasionally 3.
All OSes must run some code in Ring 0, the kernel ring. One of the
problems of Windows 95/98/ME was that it all ran in Ring 0 all the
time.
OS/2 2 and later uses rings 2 and 3. Windows NT and Linux, IIRC, only
use 0 and 3.
The parts of the OS running outside ring 0 have the same low
privileges as user programs. This low privilege level -- on x86, ring
3 -- is called "user space", and so the bits of the OS that run in it
are called the "userland" of the OS.
Normally there is only 1 userland and all the OS outside the kernel,
plus all the apps, run in it.
It is relatively easy to modify an OS kernel so it can run more than
one userland. This means that all of the OS except the kernel can be
duplicated: you can run 2, or 3 or 500 of them. Each one looks and
works like an entire separate installation of the OS, but they are all
just big programs running on the same kernel.
These are what is today called "containers".
(This is a simplification but it is basically how it all works.)
--
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