2

Я пытаюсь смонтировать раздел с NAS, и размер блока составляет 65536 байт, это больше предварительно скомпилированного размера подкачки памяти моего ядра в 4 КБ, поэтому я не могу смонтировать его нормально.

Какие параметры компиляции ядра мне нужно изменить, чтобы получить достаточно большой размер подкачки памяти? Будет ли это возможно под архитектурой x86-64?

РЕДАКТИРОВАТЬ: Кажется, нет никакой возможности для этого в make xconfig если я просто пропускаю это.

Из page_types.h разделе arch\x86\include\asm

/* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT  12
#define PAGE_SIZE   (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK   (~(PAGE_SIZE-1))`

Это не выглядит настраиваемым. Я мог бы изменить это число прямо на 16, и это, вероятно, сделало бы довольно взрывы и уничтожило бы Токио. Я, наверное, попробую это позже этим вечером.

2 ответа2

1

Из page_types.h разделе arch\x86\include\asm

/* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT  12
#define PAGE_SIZE   (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK   (~(PAGE_SIZE-1))

изменение 12 в 16 результатов в

arch/x86/kernel/head64.c: In function ‘x86_64_start_kernel’:
arch/x86/kernel/head64.c:71: error: negative width in bit-field ‘<anonymous>’
make[2]: *** [arch/x86/kernel/head64.o] Error 1

Поскольку это просто код проверки работоспособности для смещений модулей, кажется, что изменение размера подкачки памяти имеет много непреднамеренных побочных эффектов, которые сделают это далеко не простым. Я думаю, я застрял в поиске другой арки, чтобы продолжить. :(

Вот список арок, которые поддерживают страницы размером 64 КБ или более: ia64, mips, pa-risc, powerpc, sh, sparc64. Так что, похоже, лучше всего найти старый Mac-PPC.

0

Вам нужно изменить размер страницы вашего ядра. Не рекомендую, но возможно, я полагаю.

Это не имеет ничего общего с вашей архитектурой. (то есть, если это возможно, это может быть сделано с вашей архитектурой, и если это невозможно, не из-за вашей архитектуры)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .