kernel: only strip proc for small flash devices

Currently, you are not able to get statistics about IPv4 and IPv6
usage. This information can be collected via the snmp and snmp6.
However, in the current state this interface is disabled as you can
read in the "902-debloat_proc.patch":
 "Strip non-essential /proc functionality to reduce code size"

Tools like netstat use the snmp/6 interface to collect interface
statistics. Some prometheus exporters also mention this:
- prometheus-collectors/netstat.lua
- prometheus-collectors/snmp6 (still a PR)
- collectd/snmp6 (still a PR)

PRs:
- https://github.com/collectd/collectd/pull/3789
- https://github.com/openwrt/packages/pull/14158

Instead of enabling it as default for all devices we condition it
 default y if SMALL_FLASH

A test shows it needs around 16 kiB.

Signed-off-by: Nick Hainke <vincent@systemli.org>
[fixed whitespace issue]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
Nick Hainke 2020-12-09 21:17:47 +01:00 committed by Petr Štetiar
parent 9361964a3a
commit 4943bc5cff
2 changed files with 5 additions and 2 deletions

View File

@ -35,6 +35,10 @@ config KERNEL_SWAP
bool "Support for paging of anonymous memory (swap)"
default y if !SMALL_FLASH
config KERNEL_PROC_STRIPPED
bool "Strip non-essential /proc functionality to reduce code size"
default y if SMALL_FLASH
config KERNEL_DEBUG_FS
bool "Compile the kernel with debug filesystem enabled"
default y

View File

@ -4123,7 +4123,6 @@ CONFIG_PRINT_STACK_DEPTH=64
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_PROC_STRIPPED=y
CONFIG_PROC_SYSCTL=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set