From 9cd1fc8087db2791ae42bdf077c34ac1563377b9 Mon Sep 17 00:00:00 2001 From: Prasad Sodagudi Date: Fri, 20 Mar 2020 18:12:22 -0700 Subject: [PATCH 1/3] defconfig: Add initial defconfig fragment of consolidate for Lahaina Add initial consolidate defconfig fragment for the lahaina SoC. Consolidate fragement contains all debug features needed on top of lahaina_QGKI.config fragement and these flags should not show significant performance impact. lahaina_debug.config fragment contains memory debug features, which shows the performance impact. This enables intenal testing to use the images based on lahaina-qgki-consoldiate_defconfig defconfig instead of lahaina-qgki_defconfig defconfig. Change-Id: I3982e84dbe77abaf3afd741426f6f74ab2db1544 Signed-off-by: Prasad Sodagudi --- .../configs/vendor/lahaina_consolidate.config | 46 ++++++++++++ .../arm64/configs/vendor/lahaina_debug.config | 73 ++----------------- 2 files changed, 51 insertions(+), 68 deletions(-) create mode 100644 arch/arm64/configs/vendor/lahaina_consolidate.config diff --git a/arch/arm64/configs/vendor/lahaina_consolidate.config b/arch/arm64/configs/vendor/lahaina_consolidate.config new file mode 100644 index 000000000000..6819456aa28c --- /dev/null +++ b/arch/arm64/configs/vendor/lahaina_consolidate.config @@ -0,0 +1,46 @@ +CONFIG_LOCALVERSION="-qgki-consolidate" +CONFIG_IOMMU_TLBSYNC_DEBUG=y +CONFIG_IOMMU_DEBUG=y +CONFIG_IOMMU_TESTS=y +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_DEBUG=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y +CONFIG_PAGE_OWNER=y +CONFIG_PAGE_OWNER_ENABLE_DEFAULT=y +CONFIG_PAGE_EXTENSION_PAGE_FREE=y +# CONFIG_DEBUG_DMA_BUF_REF is not set +CONFIG_EDAC_KRYO_ARM64_PANIC_ON_CE=y +CONFIG_QMP_DEBUGFS_CLIENT=y +CONFIG_ATOMIC64_SELFTEST=m +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_TEST_USER_COPY=m +CONFIG_OF_RESERVED_MEM_CHECK=y +CONFIG_BUG_ON_HW_MEM_ONLINE_FAIL=y +CONFIG_PANIC_ON_SCHED_BUG=y +CONFIG_PANIC_ON_RT_THROTTLING=y +CONFIG_LKDTM=m +CONFIG_RUNTIME_TESTING_MENU=y +CONFIG_PREEMPTIRQ_EVENTS=y +CONFIG_SERIAL_MSM_GENI_CONSOLE=y +CONFIG_QCOM_RTB=y +CONFIG_QCOM_RTB_SEPARATE_CPUS=y +CONFIG_DEBUG_CONSOLE_UNHASHED_POINTERS=y +CONFIG_COMMON_CLK_QCOM_DEBUG=y +CONFIG_CNSS2_DEBUG=y +CONFIG_NL80211_TESTMODE=y +CONFIG_EDAC_QCOM_LLCC_PANIC_ON_CE=y +CONFIG_LOCK_TORTURE_TEST=m +CONFIG_RCU_TORTURE_TEST=m +# CONFIG_CDNS_I3C_MASTER is not set +# CONFIG_DW_I3C_MASTER is not set +CONFIG_CORESIGHT_SOURCE_ETM4X=y +# CONFIG_CORESIGHT_CTI_SAVE_DISABLE is not set +CONFIG_MHI_DEBUG=y +CONFIG_MSM_DEBUGCC_LAHAINA=y +CONFIG_DEBUG_PANIC_ON_OOM=y +CONFIG_USB_F_FS_IPC_LOGGING=y +CONFIG_DYNAMIC_DEBUG=y +CONFIG_QTI_PMIC_GLINK_CLIENT_DEBUG=y +# CONFIG_HH_DISABLE_UART is not set diff --git a/arch/arm64/configs/vendor/lahaina_debug.config b/arch/arm64/configs/vendor/lahaina_debug.config index 2276f85a1c7d..52d03e42c8a8 100644 --- a/arch/arm64/configs/vendor/lahaina_debug.config +++ b/arch/arm64/configs/vendor/lahaina_debug.config @@ -1,73 +1,10 @@ CONFIG_LOCALVERSION="-qgki-debug" -CONFIG_IOMMU_TLBSYNC_DEBUG=y -CONFIG_IOMMU_DEBUG=y -CONFIG_IOMMU_TESTS=y -CONFIG_CMA_DEBUGFS=y -CONFIG_CMA_DEBUG=y CONFIG_SLUB_DEBUG_PANIC_ON=y CONFIG_SLUB_DEBUG_ON=y -CONFIG_PAGE_OWNER=y -CONFIG_PAGE_OWNER_ENABLE_DEFAULT=y -CONFIG_DEBUG_PAGEALLOC=y -CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4000 +CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y CONFIG_PAGE_POISONING=y CONFIG_PAGE_POISONING_ENABLE_DEFAULT=y -CONFIG_PAGE_EXTENSION_PAGE_FREE=y -# CONFIG_DEBUG_DMA_BUF_REF is not set -# CONFIG_PAGE_POISONING_NO_SANITY is not set -# CONFIG_PAGE_POISONING_ZERO is not set -CONFIG_EDAC_KRYO_ARM64_PANIC_ON_CE=y -CONFIG_QMP_DEBUGFS_CLIENT=y -CONFIG_LKDTM=m -CONFIG_ATOMIC64_SELFTEST=m -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_TEST_USER_COPY=m -CONFIG_OF_RESERVED_MEM_CHECK=y -CONFIG_BUG_ON_HW_MEM_ONLINE_FAIL=y -CONFIG_PANIC_ON_SCHED_BUG=y -CONFIG_PANIC_ON_RT_THROTTLING=y -CONFIG_LKDTM=m -CONFIG_RUNTIME_TESTING_MENU=y -CONFIG_PREEMPTIRQ_EVENTS=y -CONFIG_SERIAL_MSM_GENI=y -CONFIG_SERIAL_MSM_GENI_CONSOLE=y -CONFIG_MSM_GENI_SE=y -CONFIG_SERIAL_MSM_GENI_HALF_SAMPLING=y -CONFIG_QCOM_RTB=y -CONFIG_QCOM_RTB_SEPARATE_CPUS=y -CONFIG_MSM_QBT_HANDLER=y -CONFIG_DEBUG_CONSOLE_UNHASHED_POINTERS=y -CONFIG_COMMON_CLK_QCOM_DEBUG=y -CONFIG_I2C_MSM_GENI=y -CONFIG_SPI_MSM_GENI=y -CONFIG_CNSS2_DEBUG=y -CONFIG_NL80211_TESTMODE=y -CONFIG_MSM_GPI_DMA=y -CONFIG_MSM_GPI_DMA_DEBUG=y -CONFIG_EDAC_QCOM_LLCC_PANIC_ON_CE=y -CONFIG_LOCK_TORTURE_TEST=m -CONFIG_RCU_TORTURE_TEST=m -CONFIG_I3C=y -CONFIG_I3C_MASTER_MSM_GENI=y -# CONFIG_CDNS_I3C_MASTER is not set -# CONFIG_DW_I3C_MASTER is not set -CONFIG_CORESIGHT_SOURCE_ETM4X=y -# CONFIG_CORESIGHT_CTI_SAVE_DISABLE is not set -CONFIG_MHI_BUS=y -CONFIG_MHI_DEBUG=y -CONFIG_MHI_UCI=y -CONFIG_ARM_QCOM_CPUFREQ_HW=y -CONFIG_THERMAL_TSENS=y -# CONFIG_MSM_JTAGV8 is not set -CONFIG_SLIMBUS=y -CONFIG_SLIMBUS_MSM_NGD=y -CONFIG_QCOM_SMCINVOKE=y -CONFIG_MSM_DEBUGCC_LAHAINA=y -CONFIG_DEBUG_PANIC_ON_OOM=y -CONFIG_USB_F_FS_IPC_LOGGING=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_QTI_PMIC_GLINK_CLIENT_DEBUG=y -CONFIG_SPI_SPIDEV=y -CONFIG_I2C_CHARDEV=y -# CONFIG_HH_DISABLE_UART is not set +CONFIG_DEBUG_STACK_USAGE=y +CONFIG_DEBUG_MEMORY_INIT=y From b3351ed31de88625fa5c09cbc0947f474ca3d5d2 Mon Sep 17 00:00:00 2001 From: Prasad Sodagudi Date: Fri, 20 Mar 2020 16:55:06 -0700 Subject: [PATCH 2/3] scripts: gki: Add support for qgki-consolidate_defconfig consolidate fragment contains the all the debug features on top of qgki fragment for regular debugging and debug fragment contains memory debug features. Add support for fragement merging support in the both generate_defconfig.sh and fragement_menuconfig.sh scripts. Change-Id: Iea90997eca060fdf86cd9da08106e7cf11460b21 Signed-off-by: Prasad Sodagudi Signed-off-by: Raghavendra Rao Ananta --- scripts/gki/envsetup.sh | 3 +++ scripts/gki/fragment_menuconfig.sh | 7 +++++-- scripts/gki/generate_defconfig.sh | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/gki/envsetup.sh b/scripts/gki/envsetup.sh index dfbcc311eef5..48467acca25d 100755 --- a/scripts/gki/envsetup.sh +++ b/scripts/gki/envsetup.sh @@ -27,6 +27,9 @@ QCOM_GKI_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_GKI.config QCOM_QGKI_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_QGKI.config QCOM_DEBUG_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_debug.config +# Consolidate fragment may not be present for all platforms. +QCOM_CONSOLIDATE_FRAG=`ls ${CONFIGS_DIR}/${PLATFORM_NAME}_consolidate.config 2> /dev/null` + QCOM_GENERIC_PERF_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}.config QCOM_GENERIC_DEBUG_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}-debug.config diff --git a/scripts/gki/fragment_menuconfig.sh b/scripts/gki/fragment_menuconfig.sh index 532ed226b0de..e94924e5f65c 100755 --- a/scripts/gki/fragment_menuconfig.sh +++ b/scripts/gki/fragment_menuconfig.sh @@ -6,7 +6,7 @@ usage() { echo "Usage: $0 " - echo "Variants: -gki_defconfig, -qgki_defconfig, and -qgki-debug_defconfig" + echo "Variants: -gki_defconfig, -qgki_defconfig, -qgki-consolidate_defconfig and -qgki-debug_defconfig" echo "Example: $0 lahaina-gki_defconfig" exit 1 } @@ -60,6 +60,9 @@ case "$REQUIRED_DEFCONFIG" in ${PLATFORM_NAME}-qgki-debug_defconfig ) FINAL_DEFCONFIG_BLEND+=" $QCOM_DEBUG_FRAG" ;& # Intentional fallthrough + ${PLATFORM_NAME}-qgki-consolidate_defconfig ) + FINAL_DEFCONFIG_BLEND+=" $QCOM_CONSOLIDATE_FRAG" + ;& # Intentional fallthrough ${PLATFORM_NAME}-qgki_defconfig ) FINAL_DEFCONFIG_BLEND+=" $QCOM_QGKI_FRAG" ${SCRIPTS_ROOT}/fragment_allyesconfig.sh $QCOM_GKI_FRAG $QCOM_GKI_ALLYES_FRAG @@ -79,7 +82,7 @@ esac FINAL_DEFCONFIG_BLEND+=${BASE_DEFCONFIG} # Reverse the order of the configs for the override to work properly -# Correct order is base_defconfig GKI.config QGKI.config debug.config +# Correct order is base_defconfig GKI.config QGKI.config consolidate.config debug.config FINAL_DEFCONFIG_BLEND=`echo "${FINAL_DEFCONFIG_BLEND}" | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }'` echo "defconfig blend for $REQUIRED_DEFCONFIG: $FINAL_DEFCONFIG_BLEND" diff --git a/scripts/gki/generate_defconfig.sh b/scripts/gki/generate_defconfig.sh index 8038febc55b6..873f5c3b68bc 100755 --- a/scripts/gki/generate_defconfig.sh +++ b/scripts/gki/generate_defconfig.sh @@ -6,7 +6,7 @@ usage() { echo "Usage: $0 " - echo "Variants: -gki_defconfig, -qgki_defconfig, and -qgki-debug_defconfig" + echo "Variants: -gki_defconfig, -qgki_defconfig, -consolidate_defconfig and -qgki-debug_defconfig" echo "Example: $0 lahaina-gki_defconfig" exit 1 } @@ -59,6 +59,9 @@ case "$REQUIRED_DEFCONFIG" in ${PLATFORM_NAME}-qgki-debug_defconfig ) FINAL_DEFCONFIG_BLEND+=" $QCOM_DEBUG_FRAG" ;& # Intentional fallthrough + ${PLATFORM_NAME}-qgki-consolidate_defconfig ) + FINAL_DEFCONFIG_BLEND+=" $QCOM_CONSOLIDATE_FRAG" + ;& # Intentional fallthrough ${PLATFORM_NAME}-qgki_defconfig ) FINAL_DEFCONFIG_BLEND+=" $QCOM_QGKI_FRAG" ${SCRIPTS_ROOT}/fragment_allyesconfig.sh $QCOM_GKI_FRAG $QCOM_GKI_ALLYES_FRAG @@ -78,7 +81,7 @@ esac FINAL_DEFCONFIG_BLEND+=${BASE_DEFCONFIG} # Reverse the order of the configs for the override to work properly -# Correct order is base_defconfig GKI.config QGKI.config debug.config +# Correct order is base_defconfig GKI.config QGKI.config consolidate.config debug.config FINAL_DEFCONFIG_BLEND=`echo "${FINAL_DEFCONFIG_BLEND}" | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }'` echo "defconfig blend for $REQUIRED_DEFCONFIG: $FINAL_DEFCONFIG_BLEND" From 870624be3aa2c80dff74be377af18da37139d481 Mon Sep 17 00:00:00 2001 From: Prasad Sodagudi Date: Fri, 20 Mar 2020 18:24:08 -0700 Subject: [PATCH 3/3] .gitignore: ignore GKI generated defconfigs ignore lahaina-qgki-consolidate_defconfig file generated by GKI scripts as this file auto-generated at build time. Change-Id: I3edbbbf90b581642da81993a49fdc5264a4324a3 Signed-off-by: Prasad Sodagudi --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 91000a42d341..9c20f181263b 100644 --- a/.gitignore +++ b/.gitignore @@ -151,6 +151,7 @@ x509.genkey arch/*/configs/vendor/*-gki_defconfig arch/*/configs/vendor/*-qgki_defconfig arch/*/configs/vendor/*-qgki-debug_defconfig +arch/*/configs/vendor/*-qgki-consolidate_defconfig # vendor device tree directories arch/arm64/boot/dts/vendor