On 2020-10-26 5:29 a.m., Alex Xu (Hello71) wrote:
Hi,
I frequently encounter OOM on my system, mostly due to my own fault.
Recently, I noticed that not only does a swap storm happen and OOM
killer gets invoked, but the graphics output freezes permanently.
Checking the kernel messages, I see:
kworker/u24:4: page allocation failure: order:5,
mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null)
CPU: 6 PID: 279469 Comm: kworker/u24:4 Tainted: G W
5.9.0-14732-g20b1adb60cf6 #2
Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./B450 Pro4, BIOS
P4.20 06/18/2020
Workqueue: events_unbound commit_work
Call Trace:
? dump_stack+0x57/0x6a
? warn_alloc.cold+0x69/0xcd
? __alloc_pages_direct_compact+0xfb/0x116
? __alloc_pages_slowpath.constprop.0+0x9c2/0xc14
? __alloc_pages_nodemask+0x143/0x167
? kmalloc_order+0x24/0x64
? dc_create_state+0x1a/0x4d
? amdgpu_dm_atomic_commit_tail+0x1b19/0x227d
Looks like dc_create_state should use kvzalloc instead of kzalloc
(dc_state_free already uses kvfree).
order:5 means it's trying to allocate 32 physically contiguous pages,
which can be hard to fulfill even with lower memory pressure.
--
Earthling Michel Dänzer | https://redhat.com
Libre software enthusiast | Mesa and X developer