Рекомпиляция ядра Ubuntu не может включить флаг: CONFIG_ZSMALLOC_STAT

Я хочу видеть внутреннюю информацию ZSMALLOC в Ubuntu 16.04 (в amd64 kvm-qemu). Я попытался перекомпилировать ubuntu Kernel, добавив CONFIG_ZSMALLOC_STAT = y в файл .config.

Ниже я попытался:

$ mkdir linux.ubuntu-16.04 $ cd linux.ubuntu-16.04 apt-get source linux-image-$(uname -r) $ make -j8 $ make install

Однако я не могу найти отладочную информацию ZSMALLOC. Я не могу найти каталог с именем zsmalloc внутри /sys/kernel/debug

Что делать, чтобы увидеть информацию об отладке zsmalloc?

Result of command :

#grep -irn CONFIG_ZSMALLOC_STAT *

[12:57:13] mac@mac-qemu:~/linux.ubuntu-16.04/linux-hwe-4.8.0 $ grep -irn CONFIG_ZSMALLOC_STAT * arch/s390/configs/default_defconfig:73:CONFIG_ZSMALLOC_STAT=y arch/s390/configs/gcov_defconfig:69:CONFIG_ZSMALLOC_STAT=y arch/s390/configs/performance_defconfig:69:CONFIG_ZSMALLOC_STAT=y arch/s390/defconfig:60:CONFIG_ZSMALLOC_STAT=y debian/build/build-generic/.config:578:CONFIG_ZSMALLOC_STAT=y debian/build/build-generic/.config.old:9395:CONFIG_ZSMALLOC_STAT=y debian/tmp/boot/config-4.8.17:578:CONFIG_ZSMALLOC_STAT=y debian/linux-image-4.8.0-54-hello-generic/boot/config-4.8.0-54-hello-generic:578:CONFIG_ZSMALLOC_STAT=y debian/hdrtmp/usr/src/linux-headers-4.8.17/.config:578:CONFIG_ZSMALLOC_STAT=y debian/linux-headers-4.8.0-54-hello-generic/usr/src/linux-headers-4.8.0-54-hello-generic/.config:578:CONFIG_ZSMALLOC_STAT=y debian/linux-headers-4.8.0-54-hello-generic/usr/src/linux-headers-4.8.0-54-hello-generic/.config.old:578:CONFIG_ZSMALLOC_STAT=y debian.hwe/config/annotations:9494:CONFIG_ZSMALLOC_STAT policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'i386': 'y', 'powerpc': 'n', 'ppc64el': 'n', 's390x': 'n'}> debian.hwe/config/config.common.ubuntu:9396:CONFIG_ZSMALLOC_STAT=y debian.master/config/annotations:9494:CONFIG_ZSMALLOC_STAT policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'i386': 'y', 'powerpc': 'n', 'ppc64el': 'n', 's390x': 'n'}> debian.master/config/config.common.ubuntu:9396:CONFIG_ZSMALLOC_STAT=y debian.master/info/OVERRIDES:4:CONFIG_ZSMALLOC_STAT=y Documentation/vm/zsmalloc.txt:36:With CONFIG_ZSMALLOC_STAT, we could see zsmalloc internal information via include/generated/autoconf.h:1142:#define CONFIG_ZSMALLOC_STAT 1 include/config/auto.conf:1140:CONFIG_ZSMALLOC_STAT=y mm/zsmalloc.c:163:#ifdef CONFIG_ZSMALLOC_STAT mm/zsmalloc.c:262:#ifdef CONFIG_ZSMALLOC_STAT mm/zsmalloc.c:579:#ifdef CONFIG_ZSMALLOC_STAT mm/zsmalloc.c:701:#else /* CONFIG_ZSMALLOC_STAT */
2
задан 23 August 2017 в 14:01

3 ответа

Вы редактируете конфиги в неправильном файле и неправильно создаете ядро. Ubuntu (на самом деле Debian) способ изменения конфигураций и сборки выглядит следующим образом:

Конфигурация должна быть установлена ​​в debian.master/config/config.common.ubuntu

Она есть, но прокомментирована

# CONFIG_ZSMALLOC_STAT is not set

Измените его на

CONFIG_ZSMALLOC_STAT=y

Затем запустите

fakeroot debian/rules clean
fakeroot debian/rules binary-generic binary-headers

для компиляции.

Вместо последней команды вы можете использовать [!d6 ]

fakeroot debian/rules DEB_BUILD_OPTIONS=parallel=8  binary-headers binary-generic

, если вы хотите иметь 8 параллельных процессов (аналог -j8).

Другой (возможно, более обычный способ) - запустить

fakeroot debian/rules clean
fakeroot debian/rules editconfigs

Тогда выберите конфигурацию, которую хотите изменить, затем перейдите к

«Тип и функции процессора -> Распределитель памяти для сжатых страниц» и включите его там.

1
ответ дан 22 May 2018 в 19:09
  • 1
    Сначала запустите fakeroot debian/rules clean. – Pilot6 23 August 2017 в 14:22
  • 2
    Сначала я чистил. Чистая работа, но не остальная часть команд. – aMa 23 August 2017 в 14:34
  • 3
    Что вы подразумеваете под «не работает»? Что случилось с следующей командой? – Pilot6 23 August 2017 в 14:36
  • 4
    $ fakeroot debian / rules двоично-генерические двоичные заголовки [2] делают: *** Нет правила, чтобы сделать цель «двоичной-общей». Стоп. – aMa 23 August 2017 в 14:41
  • 5
    Оставайтесь на линии. Я посмотрю, что произойдет, когда вы получите источник таким образом. – Pilot6 23 August 2017 в 14:42

Вы редактируете конфиги в неправильном файле и неправильно создаете ядро. Ubuntu (на самом деле Debian) способ изменения конфигураций и сборки выглядит следующим образом:

Конфигурация должна быть установлена ​​в debian.master/config/config.common.ubuntu

Она есть, но прокомментирована

# CONFIG_ZSMALLOC_STAT is not set

Измените его на

CONFIG_ZSMALLOC_STAT=y

Затем запустите

fakeroot debian/rules clean fakeroot debian/rules binary-generic binary-headers

для компиляции.

Вместо последней команды вы можете использовать

fakeroot debian/rules DEB_BUILD_OPTIONS=parallel=8 binary-headers binary-generic

, если вы хотите иметь 8 параллельных процессов (аналог -j8).

Другой (возможно, более обычный способ) - запустить

fakeroot debian/rules clean fakeroot debian/rules editconfigs

Тогда выберите конфигурацию, которую хотите изменить, затем перейдите к

«Тип и функции процессора -> Распределитель памяти для сжатых страниц» и включите его там.

1
ответ дан 18 July 2018 в 08:03

Вы редактируете конфиги в неправильном файле и неправильно создаете ядро. Ubuntu (на самом деле Debian) способ изменения конфигураций и сборки выглядит следующим образом:

Конфигурация должна быть установлена ​​в debian.master/config/config.common.ubuntu

Она есть, но прокомментирована

# CONFIG_ZSMALLOC_STAT is not set

Измените его на

CONFIG_ZSMALLOC_STAT=y

Затем запустите

fakeroot debian/rules clean fakeroot debian/rules binary-generic binary-headers

для компиляции.

Вместо последней команды вы можете использовать

fakeroot debian/rules DEB_BUILD_OPTIONS=parallel=8 binary-headers binary-generic

, если вы хотите иметь 8 параллельных процессов (аналог -j8).

Другой (возможно, более обычный способ) - запустить

fakeroot debian/rules clean fakeroot debian/rules editconfigs

Тогда выберите конфигурацию, которую хотите изменить, затем перейдите к

«Тип и функции процессора -> Распределитель памяти для сжатых страниц» и включите его там.

1
ответ дан 24 July 2018 в 18:58

Другие вопросы по тегам:

Похожие вопросы: