Those are really all you need. And even still it might be marginal in gains... if at all:

My minimal settings for optimal kernel settings and nss packages are

# vim: set ft=kconfig

CONFIG_USE_MOLD=y
CONFIG_USE_LTO=y
CONFIG_USE_GC_SECTIONS=y

CONFIG_TARGET_OPTIONS=y
CONFIG_TARGET_OPTIMIZATION="-O3 -pipe -mcpu=cortex-a53+crypto+crc"

# CONFIG_SECCOMP is not set
CONFIG_PKG_RELRO_PARTIAL=y
# CONFIG_PKG_RELRO_FULL is not set

# CONFIG_KERNEL_WERROR is not set
# CONFIG_KERNEL_SECCOMP is not set
# CONFIG_KERNEL_NAMESPACES is not set
# CONFIG_KERNEL_KEYS is not set
# CONFIG_KERNEL_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_KERNEL_ELF_CORE is not set
# CONFIG_KERNEL_CGROUPS is not set
CONFIG_COLLECT_KERNEL_DEBUG=y
CONFIG_KERNEL_PERF_EVENTS=y
CONFIG_KERNEL_DYNAMIC_DEBUG=y
CONFIG_KERNEL_ARM_PMU=y
CONFIG_GCC_DEFAULT_PIE=y
CONFIG_EXPERIMENTAL=y
CONFIG_DEVEL=y
CONFIG_CCACHE=y
CONFIG_BUILD_PATENTED=y

# NSS related
CONFIG_NSS_MEM_PROFILE_HIGH=y
CONFIG_ATH11K_NSS_SUPPORT=y
CONFIG_ATH11K_MEM_PROFILE_512M=y
# CONFIG_ATH11K_THERMAL is not set
# CONFIG_ATH11K_MEM_PROFILE_1G is not set
# CONFIG_ATH11K_DEBUGFS_STA is not set
# CONFIG_ATH11K_DEBUGFS_HTT_STATS is not set
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y
CONFIG_PACKAGE_sqm-scripts-nss=y
CONFIG_PACKAGE_nss-firmware-ipq8074=y
CONFIG_PACKAGE_nss-firmware-default=y
CONFIG_PACKAGE_kmod-qca-nss-ecm=y
CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y
CONFIG_PACKAGE_kmod-qca-mcs=y
CONFIG_PACKAGE_dnsmasq_full_dnssec=y
# CONFIG_NSS_DRV_PPTP_ENABLE is not set

# CONFIG_OPENSSL_ENGINE is not set

CONFIG_ZSTD_OPTIMIZE_O3=y
CONFIG_ZLIB_OPTIMIZE_SPEED=y

I've tried to keep my NSS fork as vanilla as possible, as it makes debugging/support easier. And any config changes I've needed to:

target/linux/qualcommax/{ipq807x/config-default,config*}

I've gotten merged upstream (except for QCE as module, SKB recycling, CONFIG_HZ=1000, and the default governor as performance).

5 Likes