Я пытаюсь изучить ядро Linux и читать код ядра , но я не могу понять структуру, которую они используют для структуры страницы, как показано ниже: Я имею в виду, почему они использовать объединение вложенного в структурах, которые гнездились в объединении (код упрощена ...)Почему использовать эту странную структуру вложенности
struct page {
unsigned long flags;
struct address_space *mapping;
struct {
union {
pgoff_t index;
void *freelist;
};
union {
unsigned counters;
struct {
union {
atomic_t _mapcount;
struct {
unsigned inuse:16;
unsigned objects:15;
unsigned frozen:1;
};
};
atomic_t _count;
};
};
};
}