Huge number of negative dentries cause massive calls to shrink_slab() --> prune_super() --> prune_dcache_sb() --> __prune_dcache_sb() and soft lockups, rcu_sched CPU stalls, and a hard lockup.

Solution Verified - Updated -

Issue

  • Huge number of negative dentries cause massive calls to shrink_slab() --> prune_super() --> prune_dcache_sb() --> __prune_dcache_sb() and soft lockups, rcu_sched CPU stalls, and a hard lockup.
[1259814.007885] Kernel panic - not syncing: Hard LOCKUP
[1259814.007887] CPU: 8 PID: 119447 Comm: statsd_exporter Kdump: loaded Tainted: G           OEL ------------ T 3.10.0-1160.99.1.el7.x86_64 #1
[1259814.007888] Hardware name: HPE ProLiant DL325 Gen10 Plus/ProLiant DL325 Gen10 Plus, BIOS A43 12/03/2021
[1259814.007888] Call Trace:
[1259814.007891]  <NMI>  [<ffffffff9b1b1bec>] dump_stack+0x19/0x1f
[1259814.007893]  [<ffffffff9b1ab708>] panic+0xe8/0x21f
[1259814.007897]  [<ffffffff9aa30a78>] ? show_regs+0x58/0x290
[1259814.007900]  [<ffffffff9aa9f523>] nmi_panic+0x43/0x50
[1259814.007903]  [<ffffffff9ab57479>] watchdog_overflow_callback+0x119/0x140
[1259814.007907]  [<ffffffff9abb3317>] __perf_event_overflow+0x57/0x100
[1259814.007910]  [<ffffffff9abbcdd4>] perf_event_overflow+0x14/0x20
[1259814.007915]  [<ffffffff9aa05655>] x86_pmu_handle_irq+0x125/0x180
[1259814.007919]  [<ffffffff9aa06825>] amd_pmu_handle_irq+0x35/0x80
[1259814.007921]  [<ffffffff9b1bb039>] perf_event_nmi_handler+0x39/0x60
[1259814.007923]  [<ffffffff9b1bc9cc>] nmi_handle.isra.0+0x8c/0x150
[1259814.007925]  [<ffffffff9b1bcbed>] do_nmi+0x15d/0x460
[1259814.007928]  [<ffffffff9b1bbdf4>] end_repeat_nmi+0x1e/0x81
[1259814.007930]  [<ffffffff9ab1ec76>] ? native_queued_spin_lock_slowpath+0x156/0x200
[1259814.007932]  [<ffffffff9ab1ec76>] ? native_queued_spin_lock_slowpath+0x156/0x200
[1259814.007934]  [<ffffffff9ab1ec76>] ? native_queued_spin_lock_slowpath+0x156/0x200
[1259814.007936]  <EOE>  <IRQ>  [<ffffffff9b1ac21a>] queued_spin_lock_slowpath+0xb/0x13
[1259814.007938]  [<ffffffff9b1ba7bb>] _raw_spin_lock_irqsave+0x3b/0x40
[1259814.007940]  [<ffffffff9ab646e9>] rcu_check_callbacks+0x549/0x730
[1259814.007942]  [<ffffffff9ab17630>] ? tick_sched_do_timer+0x60/0x60
[1259814.007944]  [<ffffffff9aab3fb6>] update_process_times+0x46/0x80
[1259814.007946]  [<ffffffff9ab17360>] tick_sched_handle+0x30/0x80
[1259814.007948]  [<ffffffff9ab17669>] tick_sched_timer+0x39/0x80
[1259814.007950]  [<ffffffff9aacfb1e>] __hrtimer_run_queues+0x10e/0x270
[1259814.007952]  [<ffffffff9aad00af>] hrtimer_interrupt+0xaf/0x1e0
[1259814.007954]  [<ffffffff9aa5fbcb>] local_apic_timer_interrupt+0x3b/0x70
[1259814.007956]  [<ffffffff9b1ca053>] smp_apic_timer_interrupt+0x43/0x60
[1259814.007958]  [<ffffffff9b1c63f2>] apic_timer_interrupt+0x172/0x180
[1259814.007960]  <EOI>  [<ffffffff9ada2dd6>] ? radix_tree_next_chunk+0x116/0x2d0
[1259814.007962]  [<ffffffff9ab1ec42>] ? native_queued_spin_lock_slowpath+0x122/0x200
[1259814.007964]  [<ffffffff9b1ac21a>] queued_spin_lock_slowpath+0xb/0x13
[1259814.007966]  [<ffffffff9b1ba734>] _raw_spin_lock+0x24/0x30
[1259814.007968]  [<ffffffff9ac75a19>] __prune_dcache_sb+0x69/0x210
[1259814.007970]  [<ffffffff9ac77f73>] prune_dcache_sb+0x13/0x20
[1259814.007972]  [<ffffffff9ac5e910>] prune_super+0x120/0x1a0
[1259814.007974]  [<ffffffff9abdd745>] shrink_slab+0x175/0x360
[1259814.007976]  [<ffffffff9ac50661>] ? vmpressure+0x21/0x90
[1259814.007978]  [<ffffffff9abe0a5a>] do_try_to_free_pages+0x3ca/0x520
[1259814.007980]  [<ffffffff9abe0cac>] try_to_free_pages+0xfc/0x180
[1259814.007982]  [<ffffffff9abd4611>] __alloc_pages_nodemask+0x841/0xbf0
[1259814.007985]  [<ffffffff9ace1ee0>] ? stat_open+0x50/0x50
[1259814.007987]  [<ffffffff9b1adf42>] kmalloc_large_node+0x5f/0x84
[1259814.007988]  [<ffffffff9ac35add>] __kmalloc_node+0x24d/0x2b0
[1259814.007990]  [<ffffffff9ace1ee0>] ? stat_open+0x50/0x50
[1259814.007992]  [<ffffffff9abe9f89>] kvmalloc_node+0x49/0xe0
[1259814.007994]  [<ffffffff9ac84ba1>] single_open_size+0x41/0xc0
[1259814.007996]  [<ffffffff9ac84760>] ? single_open+0xc0/0xc0
[1259814.007998]  [<ffffffff9ace1ed5>] stat_open+0x45/0x50
[1259814.007999]  [<ffffffff9acd7e22>] proc_reg_open+0x72/0x110
[1259814.008001]  [<ffffffff9ac59422>] do_dentry_open+0x1e2/0x2d0
[1259814.008003]  [<ffffffff9ad1aef2>] ? security_inode_permission+0x22/0x30
[1259814.008005]  [<ffffffff9acd7db0>] ? proc_reg_release+0x80/0x80
[1259814.008007]  [<ffffffff9ac595aa>] vfs_open+0x5a/0xb0
[1259814.008009]  [<ffffffff9ac67dea>] ? may_open+0x5a/0x130
[1259814.008010]  [<ffffffff9ac6c8c6>] do_last+0x1f6/0x1380
[1259814.008012]  [<ffffffff9aa9c024>] ? mmput+0x14/0x100
[1259814.008014]  [<ffffffff9ac35f06>] ? kmem_cache_alloc_trace+0x1d6/0x200
[1259814.008016]  [<ffffffff9ac6db1d>] path_openat+0xcd/0x5a0
[1259814.008019]  [<ffffffff9b09bc50>] ? sk_run_filter+0x550/0x760
[1259814.008020]  [<ffffffff9ac6f4dd>] do_filp_open+0x4d/0xc0
[1259814.008022]  [<ffffffff9ac7dd47>] ? __alloc_fd+0x47/0x180
[1259814.008024]  [<ffffffff9ac5aba4>] do_sys_open+0x124/0x220
[1259814.008026]  [<ffffffff9ac5ace4>] SyS_openat+0x14/0x20
[1259814.008028]  [<ffffffff9b1c562e>] tracesys+0xa6/0xcc

Environment

  • Red Hat Enterprise Linux 7.9.z - kernel-3.10.0-1160.99.1.el7.x86_64

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content