2024年7月26日(金) 21:09 Breno Leitao <leitao@xxxxxxxxxx>: > > The failslab fault injection mechanism has an undocumented capability > that provides significant utility in testing and debugging. This feature, > introduced in commit 4c13dd3b48fcb ("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: Breno Leitao <leitao@xxxxxxxxxx> > --- > .../fault-injection/fault-injection.rst | 20 +++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/Documentation/fault-injection/fault-injection.rst b/Documentation/fault-injection/fault-injection.rst > index 70380a2a01b4..07c24710bd21 100644 > --- a/Documentation/fault-injection/fault-injection.rst > +++ b/Documentation/fault-injection/fault-injection.rst > @@ -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 > ---------------------------------------------------- Looks good. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>