Messages in this thread | | | From | Qian Cai <> | Subject | Re: [PATCH v3 1/3] mm: kmemleak: Make the tool tolerant to struct scan_area allocation failures | Date | Thu, 3 Oct 2019 04:36:39 -0400 |
| |
> On Oct 3, 2019, at 2:13 AM, Alexey Kardashevskiy <aik@ozlabs.ru> wrote: > > I came across this one while bisecting sudden drop in throughput of a 100Gbit Mellanox CX4 ethernet card in a PPC POWER9 > system, the speed dropped from 100Gbit to about 40Gbit. Bisect pointed at dba82d943177, this are the relevant config > options: > > [fstn1-p1 kernel]$ grep KMEMLEAK ~/pbuild/kernel-le-4g/.config > CONFIG_HAVE_DEBUG_KMEMLEAK=y > CONFIG_DEBUG_KMEMLEAK=y > CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=16000 > # CONFIG_DEBUG_KMEMLEAK_TEST is not set > # CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set > CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y > > Setting CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=400 or even 4000 (this is what KMEMLEAK_EARLY_LOG_SIZE is now in the master) > produces soft lockups on the recent upstream (sha1 a3c0e7b1fe1f): > > [c000001fde64fb60] [c000000000c24ed4] _raw_write_unlock_irqrestore+0x54/0x70 > [c000001fde64fb90] [c0000000004117e4] find_and_remove_object+0xa4/0xd0 > [c000001fde64fbe0] [c000000000411c74] delete_object_full+0x24/0x50 > [c000001fde64fc00] [c000000000411d28] __kmemleak_do_cleanup+0x88/0xd0 > [c000001fde64fc40] [c00000000012a1a4] process_one_work+0x374/0x6a0 > [c000001fde64fd20] [c00000000012a548] worker_thread+0x78/0x5a0 > [c000001fde64fdb0] [c000000000135508] kthread+0x198/0x1a0 > [c000001fde64fe20] [c00000000000b980] ret_from_kernel_thread+0x5c/0x7c > > KMEMLEAK_EARLY_LOG_SIZE=8000 works but slow. > > Interestingly KMEMLEAK_EARLY_LOG_SIZE=400 on dba82d943177 still worked and I saw my 100Gbit. Disabling KMEMLEAK also > fixes the speed (apparently). > > Is that something expected? Thanks,
It is expected that a debug option like this will make the system slower.
| |