PDA

Показать полную графическую версию : [решено] конфигурация hugepages


romez777
15-10-2014, 22:25
Приветствую,

Есть Fedora 20 с 8G памяти. Понадобилось настроить поддержку hugepages. Все сделал по написанному и добавил следующие параметры ядру:

default_hugepagesz=1G hugepagesz=1G hugepages=2

HugeTLB монтируется автоматически:
% mount | grep ^huge
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
%

После ребута все выглядит вроде нормально:
% dmesg | grep HugeTLB
HugeTLB registered 1 GB page size, pre-allocated 2 pages
% grep -E ^"(Mem|Huge)" /proc/meminfo
MemTotal: 8137732 kB
MemFree: 5359672 kB
MemAvailable: 5707656 kB
HugePages_Total: 2
HugePages_Free: 2
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 1048576 kB
%

То есть количество свободной памяти достаточно для добавления еще хотя бы одной страницы, однако облом-с:

% echo 3 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
-bash: echo: write error: Invalid argument
%

либо

% echo 3 > /proc/sys/vm/nr_hugepages
-bash: echo: write error: Invalid argument
%

Также если попробовать понизить число страниц до 1, возникает такая же ошибка. Что я делаю не так?

CJ F.A.N.
16-10-2014, 07:47
Все сделал по написанному »
написанному где? Более подробную инфу дайте

SharkyUA
16-10-2014, 12:29
# echo 512 > /proc/sys/vm/nr_hugepages

Или же

# sysctl -w vm.nr_hugepages=512

romez777
17-10-2014, 01:49
Я обновил свое исходное сообщение и добавил побольше деталей проблемы.

romez777
18-10-2014, 01:00
Я думаю, я нашел причину. Если посмотреть код в mm/hugetlb.c:

#if defined(CONFIG_CMA) && defined(CONFIG_X86_64)
...
static inline bool gigantic_page_supported(void) { return true; }
#else
static inline bool gigantic_page_supported(void) { return false; }
...
#endif
...
static int hugetlb_sysctl_handler_common(...)
{
...
if (write && hstate_is_gigantic(h) && !gigantic_page_supported())
return -EINVAL;
...
}

то получается что ядро всегда будет возвращать EINVAL для этой операции если только CONFIG_CMA не включен, а в ядре поставляемом c Fedora 20, эта опция отключена.




© OSzone.net 2001-2012