Перекомпиляция ядра 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

1 ответ

Вы редактируете конфигурации в неправильном файле и создаете ядро неправильный путь. 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 August 2017 в 00:01

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

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