Debugging the SLUB allocator in the Linux kernel
Název práce v češtině: | Ladění SLUB alokátoru v Linux kernelu |
---|---|
Název v anglickém jazyce: | Debugging the SLUB allocator in the Linux kernel |
Klíčová slova: | linux|kernel|alokátor|SLUB|ladění |
Klíčová slova anglicky: | linux|kernel|allocator|SLUB|debugging |
Akademický rok vypsání: | 2020/2021 |
Typ práce: | bakalářská práce |
Jazyk práce: | angličtina |
Ústav: | Katedra distribuovaných a spolehlivých systémů (32-KDSS) |
Vedoucí / školitel: | RNDr. Mgr. Vlastimil Babka, Ph.D. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 08.06.2021 |
Datum zadání: | 08.06.2021 |
Datum potvrzení stud. oddělením: | 17.06.2021 |
Datum a čas obhajoby: | 10.09.2021 09:00 |
Datum odevzdání elektronické podoby: | 22.07.2021 |
Datum odevzdání tištěné podoby: | 22.07.2021 |
Datum proběhlé obhajoby: | 10.09.2021 |
Oponenti: | Mgr. Vojtěch Horký, Ph.D. |
Konzultanti: | prof. Ing. Petr Tůma, Dr. |
Zásady pro vypracování |
The Linux kernel contains a specialized object allocator (SLUB) that optimizes for repeated allocation of same-type kernel objects. In the current kernel, some of the tests already present are not regularly executed in automated kernel testing infrastructures, and, judging by recent bug fixes in the allocator, more tests could be added.
The goal of the thesis is (1) to integrate the existing tests of the SLUB allocator so that they execute in common kernel build contexts, (2) to systematically check for bug fixes done to the SLUB allocator and implement new (regression) tests where possible, (3) to extend the SLUB debug infrastructure to track and report allocation events and locations including stack traces, and the efficiency of SLUB cache usage in terms of object size. The work should be integrated with mainstream kernel development as much as possible, in particular, patches should be submitted (or at least proposed) to the kernel through standard channels. |
Seznam odborné literatury |
[1] SLUB, https://lwn.net/Articles/229984
[2] kunit, https://kunit.dev [3] stackdepot, https://elixir.bootlin.com/linux/latest/source/lib/stackdepot.c |