Mechanizm magazynowania wolnych stron
- w systemie istnieje tablica KMALLOC_CACHE o rozmiarze ograniczonym przez stałą MAX_CACHE_ORDER = 3
- tablica przechowuje po jednej wolnej stronie zawierającej bloki rozmiaru BLOCKSIZE[ 0 || 1 || 2 ]
- tablica w I-tym elemencie przechowuje wskaźnik do strony, która ma ORDER = I, oraz wszystkie bloki wolne, oraz nie jest obsługiwana przez DMA
- zostaje tam umieszczona podczas działania funkcji KFREE w momencie zwalniana strony do pamięci dostępnej dla programów użytkownika
- zostaje stamtąd pobrana w funkcji KMALLOC w sytuacji, w której nie udało się zrealizować żądania przydziału strony funkcją __get_free_pages
- ma to pomóc przy alokacjach z ustawioną flagą GFP_NFS w sytuacjach tymczasowego braku wolnej pamięci