Skip to content

Instantly share code, notes, and snippets.

@rn
Last active January 7, 2018 19:34
Show Gist options
  • Save rn/45606e8963d52cb60e04f5bde6a9917a to your computer and use it in GitHub Desktop.
Save rn/45606e8963d52cb60e04f5bde6a9917a to your computer and use it in GitHub Desktop.
KPTI performance impact

packet.net Type 2

  • 24 cores Dual Intel Xeon E5-2650v4 @ 2.2 GHz
  • 256G of memory

Built a custom LinuxKit VM which boots, then downloads and compiles (3 times) a 4.14.1 kernel. The YAML file is here and the Linuxkit kernel compile package is here.

Then:

linuxkit pkg build -dev pkg/kernel-compile/
linuxkit build kernel-compile.yml
linuxkit run packet -always-pxe -machine baremetal_2 -base-url http://d28835a1.ngrok.io -serve :8080   kernel-compile

4.14.12 (KPTI enabled)

=== Run 1
real	1m 3.38s
user	32m 12.28s
sys	2m 31.73s
Sun Jan 7 18:32:46 GMT 2018
Sun Jan  7 18:33:49 GMT 2018
=== Run 2
real	1m 4.18s
user	32m 10.87s
sys	2m 32.75s
Sun Jan 7 18:34:01 GMT 2018
Sun Jan  7 18:35:05 GMT 2018
=== Run 3
real	1m 3.77s
user	32m 10.81s
sys	2m 31.08s
Sun Jan 7 18:35:16 GMT 2018
Sun Jan  7 18:36:20 GMT 2018

Average: 63.77s

4.14.12 (KPTI disabled pti=off)

=== Run 1
real	1m 2.88s
user	32m 7.53s
sys	2m 23.35s
Sun Jan 7 18:49:37 GMT 2018
Sun Jan  7 18:50:40 GMT 2018
=== Run 2
real	1m 3.84s
user	32m 13.00s
sys	2m 22.65s
Sun Jan 7 18:50:51 GMT 2018
Sun Jan  7 18:51:55 GMT 2018
=== Run 3
real	1m 2.88s
user	32m 10.13s
sys	2m 24.16s
Sun Jan 7 18:52:05 GMT 2018
Sun Jan  7 18:53:08 GMT 2018

Average: 63.20s

Mac Pro

  • Ubuntu 16.04
  • 12G of memory
  • 4 core (8 threads) Intel Xeon W3520 @ 2.67GHz (Nehalem)
  • Compile in ramdisk
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=4g tmpfs /mnt/ramdisk

4.14.12-041412-generic (KPTI enabled)

=== Run 1
1253.99user 108.89system 2:58.25elapsed 764%CPU (0avgtext+0avgdata 148576maxresident)k
9256inputs+27064outputs (41major+26006054minor)pagefaults 0swaps
Sun 7 Jan 11:48:44 GMT 2018
Sun  7 Jan 11:51:42 GMT 2018
=== Run 2
1253.66user 108.82system 2:59.20elapsed 760%CPU (0avgtext+0avgdata 148840maxresident)k
0inputs+27064outputs (0major+26002805minor)pagefaults 0swaps
Sun 7 Jan 11:51:50 GMT 2018
Sun  7 Jan 11:54:50 GMT 2018
=== Run 3
1250.12user 111.49system 3:00.06elapsed 756%CPU (0avgtext+0avgdata 148792maxresident)k
0inputs+27064outputs (0major+26005956minor)pagefaults 0swaps
Sun 7 Jan 11:54:58 GMT 2018
Sun  7 Jan 11:57:58 GMT 2018

Average: 1252.59s

4.14.12-041412-generic (KPTI disabled pti=off)

=== Run 1
1214.24user 94.35system 2:51.00elapsed 765%CPU (0avgtext+0avgdata 148816maxresident)k
9256inputs+27064outputs (41major+26003840minor)pagefaults 0swaps
Sun 7 Jan 12:38:03 GMT 2018
Sun  7 Jan 12:40:54 GMT 2018
=== Run 2
1213.00user 93.49system 2:51.99elapsed 759%CPU (0avgtext+0avgdata 148736maxresident)k
0inputs+27064outputs (0major+26004583minor)pagefaults 0swaps
Sun 7 Jan 12:41:02 GMT 2018
Sun  7 Jan 12:43:54 GMT 2018
=== Run 3
1214.24user 93.67system 2:50.84elapsed 765%CPU (0avgtext+0avgdata 148680maxresident)k
0inputs+27064outputs (0major+26002061minor)pagefaults 0swaps
Sun 7 Jan 12:44:02 GMT 2018
Sun  7 Jan 12:46:53 GMT 2018

Average: 1213.82s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment