An order-10 allocation request (2¹⁰ pages = 1 MB) issued by ib_setup_port_attrs() during InfiniBand port setup fails due to a page allocation failure

Solution Verified - Updated -

Issue

  • An order-10 allocation request (2¹⁰ pages = 1 MB) issued by ib_setup_port_attrs() during InfiniBand port setup fails due to a page allocation failure:
(taskname): page allocation failure: order:10, mode:0x60c0c0(GFP_KERNEL|GFP_COMP|GFP_ZERO), nodemask=(null),cpuset=/,mems_allowed=0-1
CPU: 15 PID: 3828897 Comm: (taskname) Kdump: loaded Not tainted 4.18.0-372.9.1.el8.x86_64 #1
Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 09/03/2021
Call Trace:
dump_stack+0x41/0x60
warn_alloc.cold.119+0x7b/0x111
? _cond_resched+0x15/0x30
? __alloc_pages_direct_compact+0x157/0x160
__alloc_pages_slowpath+0xc7e/0xcc0
? kernfs_activate+0x63/0x80
__alloc_pages_nodemask+0x2db/0x310
kmalloc_order+0x28/0x90
kmalloc_order_trace+0x1d/0xa0
__kmalloc+0x1ff/0x250
ib_setup_port_attrs+0xd4/0x8a0 [ib_core]
? klist_add_tail+0x3b/0x70
add_one_compat_dev.part.25+0x1a7/0x220 [ib_core]
rdma_dev_init_net+0xf5/0x1a0 [ib_core]
ops_init+0x3a/0x100
setup_net+0xee/0x250
copy_net_ns+0xc3/0x180
create_new_namespaces+0x170/0x210
unshare_nsproxy_namespaces+0x55/0xa0
ksys_unshare+0x18f/0x350
__x64_sys_unshare+0xe/0x20
do_syscall_64+0x5b/0x1a0
entry_SYSCALL_64_after_hwframe+0x65/0xca
RIP: 0033:0x7fb718c3eaab
Code: 73 01 c3 48 8b 0d dd 13 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa b8 10 01 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ad 13 2c 00 f7 d8 64 89 01 48
RSP: 002b:00007ffd86e2ee58 EFLAGS: 00000246 ORIG_RAX: 0000000000000110
RAX: ffffffffffffffda RBX: 000055c0b7227088 RCX: 00007fb718c3eaab
RDX: 0000000000000000 RSI: 00007ffd86e2edc0 RDI: 0000000040000000
RBP: 00007ffd86e2ee80 R08: 0000000000000000 R09: 000055c0b7039808
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 0000000000000000 R14: 00000000fffffff5 R15: 000055c0b72309d0
Mem-Info:
    ...
Node 0 Normal: 3145*4kB (UM) 23738*8kB (UME) 5562*16kB (UMEH) 192*32kB (UMEH) 3*64kB (H) 3*128kB (H) 3*256kB (H) 1*512kB (H) 0*1024kB 0*2048kB 0*4096kB = 299476kB
Node 1 Normal: 11607*4kB (UME) 19320*8kB (UMEH) 7355*16kB (UMEH) 1024*32kB (UMEH) 252*64kB (M) 1*128kB (H) 2*256kB (H) 2*512kB (H) 0*1024kB 0*2048kB 0*4096kB = 369228kB

Environment

  • Red Hat Enterprise Linux 8
    • Versions older than RHEL8.7 GA - kernel-4.18.0-425.3.1.el8
  • The kernel's inbox InfiniBand driver (ib_core)

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