System hang due to swap deadlock around plugged I/O

Solution Verified - Updated -

Issue

  • System hang due to swap deadlock around plugged I/O:
Call Trace:
 __schedule+0x2d1/0x860
 ? cpumask_any_but+0x20/0x40
 ? wbt_exit+0x30/0x30
 ? __wbt_done+0x40/0x40
 schedule+0x35/0xa0
 io_schedule+0x12/0x40
 rq_qos_wait+0xb3/0x130
 ? karma_partition+0x1f0/0x1f0
 ? wbt_exit+0x30/0x30
 wbt_wait+0x96/0xc0
 __rq_qos_throttle+0x23/0x40
 blk_mq_make_request+0x131/0x5c0
 generic_make_request_no_check+0xe1/0x330
 ? get_swap_bio+0xf0/0xf0
 submit_bio+0x3c/0x160
 __swap_writepage+0x126/0x410
 ? __frontswap_store+0x6e/0x100
 pageout+0xf8/0x300
 shrink_page_list+0xa34/0xca0
 shrink_inactive_list+0x19e/0x3e0
 shrink_lruvec+0x474/0x6c0
 shrink_node+0x22e/0x700
 do_try_to_free_pages+0xc9/0x3e0
 try_to_free_mem_cgroup_pages+0xf8/0x200
 try_charge+0x236/0x670
 obj_cgroup_charge_pages+0x3f/0xe0
 __memcg_kmem_charge_page+0xd9/0x1c0
 __alloc_pages_nodemask+0x272/0x320
 kmalloc_large_node+0x3c/0xa0
 __kmalloc_node+0x23f/0x310
 kvmalloc_node+0x3e/0x70
 ? get_iowait_time.isra.4+0x40/0x40
 single_open_size+0x3c/0xb0
 proc_reg_open+0x71/0x140
 ? proc_put_link+0x10/0x10
 do_dentry_open+0x133/0x350
 path_openat+0x558/0x1500
 ? update_curr+0xe6/0x1c0
 do_filp_open+0x93/0x100
 ? mmput+0xf/0x130
 ? getname_flags+0x4a/0x1e0
 ? __check_object_size+0xac/0x173
 ? path_get+0x11/0x30
 ? __alloc_fd+0x44/0x150
 do_sys_openat2+0x211/0x2b0
 do_sys_open+0x4b/0x80
 do_syscall_64+0x5b/0x1b0
 entry_SYSCALL_64_after_hwframe+0x61/0xc6

Environment

  • Red Hat Enterprise Linux 8

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