Re: [External] : nfsd: memory leak when client does many file operations

From: Benjamin Coddington
Date: Tue Mar 26 2024 - 13:15:58 EST


On 26 Mar 2024, at 13:13, Benjamin Coddington wrote:

> On 26 Mar 2024, at 13:04, Jan Schunk wrote:
>
>> Before I start doing this on my own build I tried it with unmodified linux-image-6.6.13+bpo-amd64 from Debian 12.
>> I installed systemtap, linux-headers-6.6.13+bpo-amd64 and linux-image-6.6.13+bpo-amd64-dbg and tried to run stap:
>>
>> user@deb:~$ sudo stap -v --all-modules kmem_alloc.stp nfsd_file
>> WARNING: Kernel function symbol table missing [man warning::symbols]
>> Pass 1: parsed user script and 484 library scripts using 110120virt/96896res/7168shr/89800data kb, in 1360usr/1080sys/4963real ms.
>> WARNING: cannot find module kernel debuginfo: No DWARF information found [man warning::debuginfo]
>> semantic error: resolution failed in DWARF builder
>>
>> semantic error: while resolving probe point: identifier 'kernel' at kmem_alloc.stp:5:7
>> source: probe kernel.function("kmem_cache_alloc") {
>> ^
>>
>> semantic error: no match
>>
>> Pass 2: analyzed script: 1 probe, 5 functions, 1 embed, 3 globals using 112132virt/100352res/8704shr/91792data kb, in 30usr/30sys/167real ms.
>> Pass 2: analysis failed. [man error::pass2]
>> Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
>> user@deb:~$
>>
>> user@deb:~$ grep -E 'CONFIG_DEBUG_INFO|CONFIG_KPROBES|CONFIG_DEBUG_FS|CONFIG_RELAY' /boot/config-6.6.13+bpo-amd64
>> CONFIG_RELAY=y
>> CONFIG_KPROBES=y
>> CONFIG_KPROBES_ON_FTRACE=y
>> CONFIG_DEBUG_INFO=y
>> # CONFIG_DEBUG_INFO_NONE is not set
>> CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
>> # CONFIG_DEBUG_INFO_DWARF4 is not set
>> # CONFIG_DEBUG_INFO_DWARF5 is not set
>> # CONFIG_DEBUG_INFO_REDUCED is not set
>> CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
>> # CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
>> # CONFIG_DEBUG_INFO_SPLIT is not set
>> CONFIG_DEBUG_INFO_BTF=y
>> CONFIG_DEBUG_INFO_BTF_MODULES=y
>> CONFIG_DEBUG_FS=y
>> CONFIG_DEBUG_FS_ALLOW_ALL=y
>> # CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
>> # CONFIG_DEBUG_FS_ALLOW_NONE is not set
>> user@deb:~$
>>
>> Do I need to enable other options?
>
> You should just need DEBUG_INFO.. maybe stap can't find it? You can try to add: -r /path/to/the/kernel/build

oh, nevermind - you're using a packaged kernel. I'm no familiar with the packaged requirements for systemtap on debian.

Ben