Commit 195a5698 authored by Breno Leitao's avatar Breno Leitao Committed by Jonathan Corbet
Browse files

docs: fault-injection: document cache-filter feature for failslab



The failslab fault injection mechanism has an undocumented capability
that provides significant utility in testing and debugging. This feature,
introduced in commit 4c13dd3b ("failslab: add ability to filter slab
caches"), allows for targeted error injection into specific slab caches.

However, it was inadvertently left undocumented at the time of its
implementation.

Add documentation for the cache-filter feature in the failslab mode
description. Also, providing a practical example demonstrating how to
use cache-filter to inject failures specifically when allocating socket
buffers (skbs).

Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
Reviewed-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240726120930.3231333-1-leitao@debian.org
parent 8663dd38
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -141,6 +141,14 @@ configuration of fault-injection capabilities.
	default is 'Y', setting it to 'N' will also inject failures into
	highmem/user allocations (__GFP_HIGHMEM allocations).

- /sys/kernel/debug/failslab/cache-filter
	Format: { 'Y' | 'N' }

        default is 'N', setting it to 'Y' will only inject failures when
        objects are requests from certain caches.

        Select the cache by writing '1' to /sys/kernel/slab/<cache>/failslab:

- /sys/kernel/debug/failslab/ignore-gfp-wait:
- /sys/kernel/debug/fail_page_alloc/ignore-gfp-wait:

@@ -459,6 +467,18 @@ Application Examples
    losetup -d $DEVICE
    rm testfile.img

------------------------------------------------------------------------------

- Inject only skbuff allocation failures ::

    # mark skbuff_head_cache as faulty
    echo 1 > /sys/kernel/slab/skbuff_head_cache/failslab
    # Turn on cache filter (off by default)
    echo 1 > /sys/kernel/debug/failslab/cache-filter
    # Turn on fault injection
    echo 1 > /sys/kernel/debug/failslab/times
    echo 1 > /sys/kernel/debug/failslab/probability


Tool to run command with failslab or fail_page_alloc
----------------------------------------------------