Вы здесь

Непонятная ситуация с mtrr.

Добрый вечер.
Заметил ошибку в логе инициализации.
Мой процессор Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz.

dmesg | egrep 'fail|Fail|FAIL|Err|ERR|err'
[ 0.226903] pmd_set_huge: Cannot satisfy [mem 0xfb000000-0xfb200000] with a huge-page mapping due to MTRR override.

cat /proc/mtrr
reg00: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: uncachable
reg01: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachable
reg02: base=0x000000000 ( 0MB), size= 8192MB, count=1: write-back
reg03: base=0x200000000 ( 8192MB), size= 512MB, count=1: write-back
reg04: base=0x220000000 ( 8704MB), size= 256MB, count=1: write-back

egrep MTRR /usr/src/linux/.config
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set

Linux 4.9.221-gentoo x86_64

free -m
total used free shared buff/cache available
Mem: 7977 1782 4549 213 1646 5883
Swap: 611 0 611

Как исправить такую ситуацию?

А чего swap такой маленький? Вроде должен быть хотя бы 50% от объема ОЗУ. Это во-первых.

Во-вторых, memtest86+ почекай планки.

В-третьих, может в ядре что-то не включено или наоборот лишнее включено.

# egrep MTRR /usr/src/linux/.config
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1

discord: hwline#1904

constantly use: funtoo-linux, ubuntu

hwline написал:
А чего swap такой маленький? Вроде должен быть хотя бы 50% от объема ОЗУ. Это во-первых.

Во-вторых, memtest86+ почекай планки.

В-третьих, может в ядре что-то не включено или наоборот лишнее включено.

# egrep MTRR /usr/src/linux/.config
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1

Насчет свопа не помню уже, раньше у компа было 3гига памяти, после изменил 8гиг.
Ох memtest86+ чекать будет пол дня 8 гиг.
В ядре только CONFIG_MTRR=y эта опция.

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Покажи grep HUGE /usr/src/linux/.config

SysA написал:
Покажи grep HUGE /usr/src/linux/.config

grep HUGE /usr/src/linux/.config
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Явно многого не хватает...
Информация к размышлению (мой конфиг):

CONFIG_CGROUP_HUGETLB=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y

SysA написал:
Явно многого не хватает...
Информация к размышлению (мой конфиг):

CONFIG_CGROUP_HUGETLB=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y

С делал.

egrep HUGE .config
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y

По прежнему вижу

/var/log/dmesg:[    0.226506] pmd_set_huge: Cannot satisfy [mem 0xfb000000-0xfb200000] with a huge-page mapping due to MTRR override.

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Как ты сам видишь - HUGEPAGE всё-таки не совсем так сконфигурировано.
Ну и твоё ядро старовато... рекомендую обновиться на последнее стабильное - лучше и чуть быстрее работает.

Если хочешь - можешь попробовать вообще отключить эту фишку параметром ядра nohugeiomap при загрузке.

SysA написал:
Как ты сам видишь - HUGEPAGE всё-таки не совсем так сконфигурировано.

Тут самое интересное в методике определения правильности.

SysA написал:
Ну и твоё ядро старовато... рекомендую обновиться на последнее стабильное - лучше и чуть быстрее работает.

А вот тут возможны нюансы.
У меня на некотором железе при обновлении на ядра свежее 4.9 (правда, пятое пока не пробовал) ломается обработка дерева в overlayfs.

:wq
--
Live free or die

Скорее всего это не проблема железа, а проблема конфигурации ядра и библиотек. А свежее ядро (до 5) уже давно 4.19! :) Кстати, убедись, что overlayfs у тебя версии 2 - может тут ещё проблема. У меня на 11 серверах разработчиков (ядро 4.14) с полусотней смонтированных overlayfs на каждом - никаких проблем!

Проблема железа в смысле ограниченности ресурсов.
У тебя на серверах памяти сколько?

И, может быть я недостаточно ясно выразился, но проблема не в монтировании overlayfs, а при обновлении образа.
Откуда следует очевидный вопрос: хотя бы дюжина из полусотни хотя бы на половину дерева тянет?
И насколько регулярно (а также синхронно) они пересобираются?

:wq
--
Live free or die

От 94 до 188Гб RAM ;)

А кak оно там крутится, честно говоря, не знаю - это епархия разработчиков...

SysA написал:
Как ты сам видишь - HUGEPAGE всё-таки не совсем так сконфигурировано.
Ну и твоё ядро старовато... рекомендую обновиться на последнее стабильное - лучше и чуть быстрее работает.

Если хочешь - можешь попробовать вообще отключить эту фишку параметром ядра nohugeiomap при загрузке.

Не охота переходить на свободный драйвер nvidia (nouveau), жара пришла! )

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.