• Bug#1106120: linux-image-6.12.19-amd64: CONFIG_FUNCTION_GRAPH_RETVAL is

    From Alexandre Ferrieux@1:229/2 to All on Mon May 19 22:20:01 2025
    XPost: linux.debian.bugs.dist
    From: alexandre.ferrieux@orange.com

    Package: src:linux
    Version: 6.12.19-1
    Severity: wishlist
    X-Debbugs-Cc: alexandre.ferrieux@orange.com

    Dear Maintainer,

    Since kernel 6.4, the ftrace subsystem has had a "superpower" feature called funcgraph-retval:
    To the existing function graph tracer, it adds the return values. This is a lifesaver in
    complex investigations, as it allows to instantly see the whole chain of "error returns"
    from deep inside an offending call. Without it, doing the same requires painstakingly enabling
    kretprobes on many functions, which obviously adds a huge amount of noise, as these probes will
    also fire outside of the graph of interest. It literally means _days_ instead of mere minutes !

    Problem is, the feature is controlled by CONFIG_FUNCTION_GRAPH_RETVAL, which is *not*
    enabled on Debian kernels. Sure enough, it incurs a slight overhead, but please note:

    - the CPU overhead is only present if runtime-activated (echo 1 > options/funcgraph-retval)
    - the memory overhead is always present, but only on the function-graph tracer, which is heavyweigth anyway
    - it has absolutely no effect outside of ftrace of course

    Ftrace is already a Swiss Army Knife, in that it is available on all Debian production kernels (thanks for that !)
    So, it would seem natural to follow its evolution, and integrate such a killer new feature.
    This is low hanging fruit to save precious hours to whoever wants to dig into the kernel,
    or even just troubleshoot some misconfigured sysctl. This ends up avoiding reports to the Debian BTS :)

    What do you think ? Would you consider adding this to the production config ?

    CONFIG_FUNCTION_GRAPH_RETVAL=y

    Thanks in advance,

    -Alex


    -- Package-specific info:
    ** Version:
    Linux version 6.12.19-amd64 (debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.12.19-1 (2025-03-16)

    ** Command line:
    BOOT_IMAGE=/boot/vmlinuz-6.12.19-amd64 root=UUID=d51d2b89-d26f-4da6-a60f-c6190c8ef5af ro quiet net.ifnames=0 biosdevnames=0 i915.force_probe=4680

    ** Tainted: UOE (12352)
    * taint requested by userspace application
    * externally-built ("out-of-tree") module was loaded
    * unsigned module was loaded

    ** Kernel log:
    [31049.820691] PM: hibernation: Allocated 732434 pages for snapshot [31049.820696] PM: hibernation: Allocated 2929736 kbytes in 0.53 seconds (5527.80 MB/s)
    [31049.820699] Freezing remaining freezable tasks
    [31049.821965] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [31049.837598] printk: Suspending console(s) (use no_console_suspend to debug) [31050.108166] pcieport 0000:00:1c.0: Intel SPT PCH root port ACS workaround enabled
    [31050.266261] ACPI: EC: interrupt blocked
    [31050.272247] ACPI: PM: Preparing to enter system sleep state S4 [31050.274232] ACPI: EC: event blocked
    [31050.274236] ACPI: EC: EC stopped
    [31050.274238] ACPI: PM: Saving platform NVS memory
    [31050.277437] Disabling non-boot CPUs ...
    [31050.279103] smpboot: CPU 3 is now offline
    [31050.285142] smpboot: CPU 2 is now offline
    [31050.288665] smpboot: CPU 1 is now offline
    [31050.292740] PM: hibernation: Creating image:
    [31050.471410] PM: hibernation: Need to copy 701966 pages
    [31050.471413] PM: hibernation: Normal pages needed: 701966 + 1024, available pages: 1364381
    [31050.293127] ACPI: PM: Restoring platform NVS memory
    [31050.293514] ACPI: EC: EC started
    [31050.294649] Enabling non-boot CPUs ...
    [31050.294687] smpboot: Booting Node 0 Processor 1 APIC 0x2
    [31050.295602] CPU1 is up
    [31050.295629] smpboot: Booting Node 0 Processor 2 APIC 0x1
    [31050.296628] CPU2 is up
    [31050.296654] smpboot: Booting Node 0 Processor 3 APIC 0x3
    [31050.297538] CPU3 is up
    [31050.300641] ACPI: PM: Waking up from system sleep state S4
    [31050.313949] ACPI: EC: interrupt unblocked
    [31050.314282] pcieport 0000:00:1c.3: Intel SPT PCH root port ACS workaround enabled
    [31050.314322] pcieport 0000:00:1c.0: Intel SPT PCH root port ACS workaround enabled
    [31050.442049] usb usb1: root hub lost power or was reset
    [31050.442057] usb usb2: root hub lost power or was reset
    [31050.442057] ACPI: EC: event unblocked
    [31050.607335] usb 1-7: WARN: invalid context state for evaluate context command.
    [31050.727218] usb 1-7: reset full-speed USB device number 2 using xhci_hcd [31050.764042] ata1: SATA link down (SStatus 4 SControl 300)
    [31050.764097] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [31050.765381] ata3.00: ACPI cmd f5/00:00:00:00:00:e0(SECURITY FREEZE LOCK) filtered out
    [31050.766323] sd 2:0:0:0: [sda] Starting disk
    [31050.766649] ata3.00: ACPI cmd f5/00:00:00:00:00:e0(SECURITY FREEZE LOCK) filtered out
    [31050.767151] ata3.00: configured for UDMA/100
    [31050.777903] ata3.00: Enabling discard_zeroes_data
    [31050.983130] usb 1-9: reset high-speed USB device number 3 using xhci_hcd [31051.578332] PM: hibernation: Basic memory bitmaps freed
    [31051.578538] OOM killer enabled.
    [31051.578539] Restarting tasks ... done.
    [31051.608366] PM: hibernation: hibernation exit
    [31051.612770] Bluetooth: hci0: Bootloader revision 0.0 build 2 week 52 2014 [31051.619787] Bluetooth: hci0: Device revision is 5
    [31051.619794] Bluetooth: hci0: Secure boot is enabled
    [31051.619796] Bluetooth: hci0: OTP lock is enabled
    [31051.619798] Bluetooth: hci0: API lock is enabled
    [31051.619799] Bluetooth: hci0: Debug lock is disabled
    [31051.619801] Bluetooth: hci0: Minimum firmware build 1 week 10 2014 [31051.625389] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi [31051.695160] usb 2-2: new SuperSpeed USB device number 3 using xhci_hcd [31051.712886] usb 2-2: New USB device found, idVendor=2109, idProduct=0817, bcdDevice=90.23
    [31051.712894] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [31051.712899] usb 2-2: Product: USB3.0 Hub
    [31051.712901] usb 2-2: Manufacturer: VIA Labs, Inc.
    [31051.713951] hub 2-2:1.0: USB hub found
    [31051.714220] hub 2-2:1.0: 4 ports detected

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)