+ All Categories
Home > Documents > The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to...

The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to...

Date post: 30-Mar-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
236
Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two decades
Transcript
Page 1: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Thorsten Leemhuis

The Linux Kernel:We have to finish this

thing one day ;)Solving big problems in small

steps for more than two decades

Page 2: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

twentieth(F)OSDEMalready?time flies…

Page 3: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

big round of applause please:

for organizers and all other volunteers!

you made and make this great conference happen! many thx!

Page 4: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

warning: this talk is partof the history track

but no, won't be a boring history class

I promise!

Page 5: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

everything I mention is kinda relevant for today

and tomorrow

Page 6: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

there will be a moral of the story in the end

so let's get started…

Page 7: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= the stage =

Page 8: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

the first (F)OSDEM happened in 2001

Page 9: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux 2.4 had just been released

Page 10: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

had about all important features it needed

back thenall needed to conquer the world!

Page 11: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

proper Posix support

X was running (0.95)

arch portability (1.2 & 2.0)

SMP (2.0)

proper performancethis and many other important things

Page 12: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

since then it got tons of improvements…

this talk will only give a glimpse into what happened

Page 13: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= growing up =

Page 14: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

2.4 likely would not run too well on today's

computersdue to missing drivers,

obviously, but also…

Page 15: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

numbers of CPU cores would be problematic

Page 16: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

back then, uniprocessor systems were the norm

today, we have CPUs with12 or 16 cores not that expensive

and even smartphones often have at least four cores

Page 17: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux was SMP capable since 2.0 (Jun 1996)

was realized with the helpof a big hammer

Page 18: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Big Kernel Lock / BKL only one CPU core is allowed to execute kernel code at any time

with obvious performance impact ;-)

Page 19: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

finer graded locking followed in 2.2

even more in 2.4

Page 20: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that made Linuxbetter at scaling

still: in the 2.4.x days, otherUnixes were known to scale better

Page 21: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

by 2.6 (Dec 2003):

Linux got thousands of finer-grained locks

Page 22: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://lwn.net/Articles/86859/ (May 2004)

Page 23: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

2.6.6 still had about 500 lock_kernel() calls :-/

Page 24: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

many more steps where needed and taken

Page 25: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://lwn.net/Kernel/Index/#Big_kernel_lock

Page 26: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux finally got rid of the BKL in 2011

after about 15 years

Page 27: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

thx to heroic efforts by various developers

esp. Arnd Bergmann, who took on the task of eliminating the BKL

entirely!

Page 28: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

the BKL might be history, but…

scalability is something still being worked on

Page 29: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://lwn.net/Kernel/Index/#Scalability

Page 30: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

many small improvements over time

never ending story

Page 31: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

quite a few mm optimizations lately

new scheduler load balancing core in Linux 5.5

scheduling for asymmetric systems got improved recently

Page 32: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

most people do not notice any of this

mostly flies under the radar

Page 33: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

thx to all these small steps

Linux is and stays one of the best scaling

OS kernels

Page 34: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= being a good host =

Page 35: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

getting rid of the BKL was one of the first big

achievementsreached in many small steps

Page 36: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

something everybody worked towards

not always like that

Page 37: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

more often, there is some competition

which can lead to interesting results

Page 38: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

something important today was absent in the early FOSDEM days:

builtin virtualization capabilities

Page 39: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

in the mid 2000s:

virtualization withx86 Linux got famous

Xen (~2005) made it popular and x86 processors started getting

virtualization capabilities (2006)

Page 40: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Xen looked like the obvious and fitting

solution the Linux worldone that everyone seemed

to agree on

Page 41: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

only problem:

support for running as Host (Dom0) or Guest

(DomU) was out-of-tree

Page 42: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and Xen was a Kernel underneath the Linux

kernel

Page 43: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

then suddenly, out of nowhere, in Oct 2006:

KVMmerged already into 2.6.20

in Feb 2007because it was so small

Page 44: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

in the beginning compared to Xen

worse performance,less features,

CPU support required a toy?

Page 45: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

KVM was quickly improved in small steps various people and companies made

it better and better

Page 46: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

a we know today:

turned out to be a game changer

used basically everywhere these days and made Linux rule the cloud

Page 47: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Xen still aroundDom0 and DomU support only

merged in 3.0 days (2011!)and small when compared to KVM

Page 48: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

why did KVM succeed?

Page 49: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

some might say:

because it took Xensource too long to upstream their code

definitely a factor, but I doubt it would have changed much

Page 50: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

the real reason: KVM had a better, more flexible, and future-proof design

built into Linux, not underneath it

Page 51: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

reuse things already there

that suited Linux more and left it in control

which obviously is in the interest of Linux developers

Page 52: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that's why a lot of people were willing to help

which in the end resultedin a better solution

Page 53: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

history lesson relevant today, as every now and then we have

similar situations like Xen vs KVM

Page 54: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

DPDK (Data Plane Development Kit)

a technique to make network packages bypass the Linux kernel

Page 55: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux developers started to fight back

with the eXpress Data Path (XDP), whereupon the

AF_XDP socket (XSK) builds

Page 56: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

seems XDP & AF_XDP can mostly keep up with

DPDK these days likely more future proof

Page 57: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

another similar situation

Asynchronous I/O (AIO)common in the Windows world,

unusual in Linux

Page 58: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

these days

io_uring finally brings proper AIO to Linux

Page 59: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

an answer to the SPDKStorage Performance Development

Kit – a I/O bypass technique that started to gain territory

Page 60: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://twitter.com/mjpt777/status/1215209572681515008

Page 61: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

just as KVM:

both XDP/AF_XDP and io_uring started small

and got and get improved in small steps

Page 62: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= hosting differently =

Page 63: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

another thing Linux still lacked during the early days of FOSDEM

support for Containers

Page 64: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

other Unixes supported them already

FreeBSD jails (1999), Solaris Zones (2004)

Page 65: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux containers only became famous ~2014

Page 66: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

so why did it take so long?

Page 67: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

kernel simply lacked required features

impossible to build something like Jails or Zones easily & reliable

Page 68: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

features got built,one step at a time

took years…

Page 69: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

some for exactly this use case

various namespaces (2002 - now)

Page 70: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

some for nearly thisuse case

cgroups (2007)(initially often used for Virtualization with KVM)

Page 71: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

some for differentuse cases

capabilities (~2003), seccomp (2005),

Page 72: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Docker combined features in a new, more

attractive way

Page 73: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

…and made Linux containers popular

these small steps thus in the end changed the computer world

Page 74: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

funny detail:

LXC was designed to become the preferred

container solution

Page 75: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Virtuozzo/OpenVZ became small; Linux-

Vserver nearly forgottenthey came earlier, but

used out-of-tree patches

Page 76: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

LXC still around, but not as big as Docker

ChromeOS and Canonical use it

Page 77: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

imagine for a moment

what if just one company had been

working towards LXC?

Page 78: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

might have been a pretty bad return of

investment…

Page 79: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

those things show companies

investing money into developing complex new

features bears risks…

Page 80: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

a problem for the kernel, but still

Linux, the OS, got a better and moreflexible solution

Page 81: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

thx to the small stepsas they lead to features that Docker could combine in new, attractive way

Page 82: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= unexpected, but welcomed surprise =

Page 83: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

docker shows:

sometimes things surface nobody aimed for

thx to kernel improvements in small steps, that lead to individual features you can recombine in various ways

Page 84: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux recently started a trip into the unknown

Page 85: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

since ~2014 and 3.15+

people improved the Berkeley Packet Filter

(BPF, these days often called Classic BPF/cBPF)

Page 86: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

the in-kernel mini-VM (like a Java VM,

not an emulated computer)

Page 87: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

tcpdump relied on it to only get the packets it

was interested infor performance reasons

(copying everything over to userland first is way too much work…)

Page 88: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

improved cBPF got called eBPF

called BPF for short these says :@

Page 89: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

faster and much more powerful VM

Page 90: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

run small programs in kernel mode

20 years ago, this idea would likely have been shot down immediately

Page 91: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

network devs scratched itches with eBPF

and improved it again and again

Page 92: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

XDP & AF_XDPbuild upon it

Page 93: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

other kernel subsystems started to use it, tooand more and more will soon

Page 94: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://lwn.net/Articles/810414/

Page 95: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

eBPF still gets improved a lotwith each new version

starts to change the kernel fundamentally

Page 96: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux gains more aspects of a microkernel

Page 97: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that's what Europe's biggest computer magazine wrote

the German c't magazine

Page 98: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two
Page 99: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Disclaimer: it was me who wrote that ;-)

Page 100: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two
Page 101: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

others compared it to microkernels, too

Page 102: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two
Page 103: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://twitter.com/srostedt/status/1177147373283418112

Page 104: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://twitter.com/toke_dk/status/1205824686426378240

Page 105: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

maybe the beginning or middle of a small

revolutionmakes Linux more error-resistant,

flexible, and powerful

Page 106: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and most people don't notice anything

happening in a lot of small steps

Page 107: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= longstanding wishes =

Page 108: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

another area where Linux was behind

from the early FOSDEM days until recently

Page 109: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

a proper tracing solution similar to DTrace

published 2005, built for Solaris

Page 110: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux finally got something better quite recently:

BCC and bpftrace

Page 111: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

www.brendangregg.com/blog/2018-10-08/dtrace-for-linux-2018.html

called "DTrace 2.0" by Brendan Gregg

"one of the leading experts on DTrace" (Wikipedia)

Page 112: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

BCC and bpftrace can do more than DTrace

pretty cool, see Brendan website, his talks, or his book

www.brendangregg.com

Page 113: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two
Page 114: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

just like containers:

took 10 to 15 years to build everything into the

Linux kernel

Page 115: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

the cool thing:

happened without a design that had exactly BCC or bpftrace in mind

they emerged thx to evolution

Page 116: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

various building blocks got developed in the past 10 to 15 years

with smaller goals

Page 117: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

perf, ftrace, tracepoints, kprobes, uprobes,

kretprobes, uprobes, …features someone developed to

scratch a specific itch

Page 118: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

those are one part of the solution;

the other:

Page 119: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

eBPF ;-)

Page 120: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

eBPF and tracing/perf tools got combined

Page 121: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and people developed BCC and bpftrace

Page 122: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and "ta ta", finally, after many years and many small steps

Linux got a DTrace 2.015 years after people called for it…

Page 123: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= something impossible =

Page 124: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux soon will offer an important new featureone almost nobody would have

expected in the early FOSDEM days

Page 125: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

realtime capabilitiescontrol your Laser cutter with Linux

reminder: Realtime is primary about predictability, not performance

Page 126: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

very vague and kinda crazy idea back then

by a few people

Page 127: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://youtu.be/BTak9U6vuc0?t=512

Page 128: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://youtu.be/BTak9U6vuc0?t=799

Page 129: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

still

the developers behind the idea didn't give upworked towards realizing the idea

ever since in small steps

Page 130: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

they made Linuxbetter for all of usrealtime systems hit many

problems and scalability issues first

Page 131: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

RT developers hadlots of body blows

one of the worst afaics:

Page 132: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

after going 90 to 95% of the route, they needed

money for the rest most of those that used RT patches didn't help much with development

Page 133: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

luckily, the RT people were successful

Linux Foundation helped and founded a project

2015

Page 134: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

soon the main trip will finally be finished

Page 135: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

CONFIG_PREEMPT_RT already in mainline

but not exposed yet!

Page 136: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

main thing missing

a printk() reworkhttps://lwn.net/Articles/800946/

Page 137: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

differences got settled recently, just need to be implemented

looks like it will be ready this year

realtime, for real, this year, too?

Page 138: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

describing all the steps taken would fill hours

Page 139: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://lwn.net/Kernel/Index/#Realtime

Page 140: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

shows:

crazy goals that look unreachable can be

achieved in small steps

Page 141: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that's how most kernel big features evolve

Page 142: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

as new kernel features often are not designed

by some company

Page 143: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

often it are individuals that want to realizean idea or a dream

Page 144: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

they might have to (ab)use companies to

realize their ideas

Page 145: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

or find moneyin other places

Page 146: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

but with a good idea and commitment big & crazy dreams can be realized

Page 147: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= working differently =

Page 148: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

containers, bpftrace, realtime, …

Linux learned a lot since the early FOSDEM days

Page 149: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

it took quite long to get those features realizedthat's just how the Linux world is

Page 150: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

you can't just hire ~50 developers

and make them build a feature you want in two or three years

like Sun could for Zones, DTrace or ZFS

Page 151: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

bears costly risks

Linux developers might reject the outcome

Page 152: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

they want to see small incremental, steps

which take more work, time, and might have a bad return of

investment

Page 153: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

served them very wellas often lead to one of the best or

the best solution on the market

Page 154: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

but it has disadvantages, too

Page 155: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

political and licensing issues aside

Is ZFS (2005) the most sophisticated filesystem

in the *nix world?

hands up if, you agree!

Page 156: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

work on "ZFS for Linux" already started in ~2008

Btrfs

Page 157: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

but hasn't reachedthat goal yet

doesn't look like it will become a Linux-ZFS anytime soon

Page 158: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://en.wikipedia.org/wiki/Btrfs#Implemented_but_not_recommended_for_production_usesee also: https://btrfs.wiki.kernel.org/index.php/Status

Page 159: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

so what went wrong?

Page 160: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

one thing for sure

it was overhyped still needed a lot of improvements

after the groundwork was done

Page 161: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and that as always, was…

done in small steps that took (and take)

a lot of time

Page 162: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

shows

how quick things improve mainly depends on…

Page 163: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

(1) how complex the problem is and

(2) how many individuals or companies

back development

Page 164: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

turned out:

problem scope is really complex…

Page 165: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and companies did not care too much

Page 166: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

some companieshelped quite a bitOracle, Suse, Facebook,

and a few others

Page 167: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

but some didn't help much or at all

(no complaint)

Page 168: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

big question

will Linux get something to compete with ZFS?

Page 169: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

I'm pretty sure:

sooner or later it will!it might just take 10 more years…

Page 170: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

will it be bcachefs?a lot of people have high expectation

Page 171: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

I'd say:

wait and seeand keep your expectations

under control

Page 172: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

history shows:

it's a hard problem that takes a lot of effort

bcachefs right now is nearly a one-man show and not even submitted to

upstream inclusion yet…

Page 173: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

unlikely to fly soonwill take many years, even if big companies would start to back it

Page 174: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= lifestyle =

Page 175: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

before coming to an end, let's switch gears

stop talking about features and look how the Linux kernel is developed

Page 176: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

during the early FOSDEM days

Linux kernel development looked

odd to outsiders

Page 177: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

no central development forge

like sourceforge, gitlab or github

Page 178: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

development driven by mail

Page 179: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Dozens of mailing lists

Page 180: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

no tracker for patch submissions

quite a few fall through the cracks

Page 181: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

no central issue tracker for neither developers nor users

Page 182: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

long unstable development phases

new features lingered inunstable tree for long

Page 183: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

no predictable release cadence

Page 184: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

no driver database no way to easily look up if Linux

contains a driver for your particular hardware and see what features it

supports

Page 185: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

we had a overworked lead developerone reason for that:

Page 186: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

we did not even have a version control system

(VCS)

Page 187: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

there were more odd aspects

Page 188: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

the kernel development model improved

somewhat since then

Page 189: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

after a short bitkeeper journey

we got git in 2005!changed the world for the better;

thanks Linus!

Page 190: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

unstable/stable model left behind

we got a mostly predictable release

cycle (2005/~2.6.13)new releases every 9 or 10 weeks

Page 191: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

a lot called it crazy back then, but

turned out very well!browsers picked scheme up

Page 192: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

we also got Stable and Longterm kernels~2005: 2.6.11.y, 2.6.16.y

Page 193: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

but to be honest

many of the other odd things are still around

some even got worse…

Page 194: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

we now have hundreds of mailing lists

instead of a few Dozen

Page 195: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

there is a bugzilla, which a lot of developer

do not look at at allhint: official place to report a bug in

most cases is a mailing list!

Page 196: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

security became much more important, but we

still have no automated code checking in a

central place

Page 197: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

a lot of room for improvements here

Page 198: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

switch to a central forge like gitlab or github?

could be a major step forward, as this brings CI, issue tracker, code

review, and many more things

Page 199: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

but no, that won'thappen anytime soon

Page 200: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

just as with features:

developers demand small steps here, too

Page 201: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

needs someone motivated enough to drive small, boring things forward

without an immediate return of investment

Page 202: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

as that's why quite a few things are still kinda archaic

which becomes more and more of a problem…

Page 203: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

lwn.net/Articles/799134/ (links to slides)www.youtube.com/watch?v=iAfrrNdl2f4

lwn.net/Articles/799134/ (links to slides)

Page 204: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://lwn.net/Articles/803619/

Page 205: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

https://twitter.com/dvyukov/status/1220410272755671043

Page 206: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

just like with features

small steps are takenand it will take time; you can help!

Page 207: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

should the Linux Foundation help more?

not sure about that Linux developers likely would prefer not to be governed

like OpenStack or Kubernetes are

Page 208: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

nevertheless

Linux development meanwhile runs at the

usual pace

Page 209: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

a new kernel version every 9 or 10 weeks

for many years now

Page 210: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

each with ~13.500 commits these days

Page 211: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

diffstat:

bringing round about +650.000 insertions and

-350.000 deletionsgrowth: ~1,5 million lines per year

Page 212: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

about 15 years after Andrew Morton wrote:

(who back then was#2 in the hierarchy)

Page 213: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two
Page 214: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two
Page 215: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

= summing things up =

Page 216: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

Linux developers solve big problems

in small steps#bigkernellock

Page 217: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

small steps lead to better and more flexible

solutions#kvm vs #xen

Page 218: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

sometimes make new, groundbreaking

technologies possible#docker

Page 219: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

building blocks build in small steps can even

help fulfilling old wishes#DTrace_2.0

Page 220: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

process can lead to quite unexpected, disrupting results #bpf (keep an eye on it!)

Page 221: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that's what made and makes Linux so great

Page 222: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

reaching big goals with small steps takes time

and thus money

Page 223: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

they thus need someone really committed

Page 224: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

ideally and individual that wants to realize a

dream

Page 225: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that worked great in a lot of areas

#realtime – but also #BKL, #KVM, #DTace_2.0, #BPF, …

Page 226: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

in some areas, we are not there yet :-/

Page 227: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

to improve things, become an individual

that is committed

Page 228: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and find money to get the dream realized

Page 229: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

then Linux will get a filesystem even better

than ZFS

Page 230: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

and developer tools and schemes even better than what we have

Page 231: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

or other things that will have a positive impact

on the world

Page 232: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

like Linux and Githad and have

Page 233: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

which once were just a dream

in somebody's head

Page 234: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

that's it – questions?(TWIMC: this is slide #234)

Page 235: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

feedback

please provide feedbackfeedback welcomed, even if negative;

talk to me!

Page 236: The Linux Kernel: We have to finish this€¦ · Thorsten Leemhuis The Linux Kernel: We have to finish this thing one day ;) Solving big problems in small steps for more than two

mail: [email protected], [email protected] Key: 0x72B6E6EF4C583D2D

social media: @kernellogger, @knurd42 on #twitter & #friendica

4 more social media accounts, see www.leemhuis.info/me/

#EOF


Recommended