https://bugs.freedesktop.org/show_bug.cgi?id=104082
--- Comment #23 from Christian König ckoenig.leichtzumerken@gmail.com --- (In reply to Andreas Kilgus from comment #22)
I am getting these messsages on my machine right now, too.
total used free shared buffers cached
Mem: 16386788 15157252 1229536 761064 88852 2660664 -/+ buffers/cache: 12407736 3979052 Swap: 25165820 156 25165664
There is enough RAM left to allocate a 2 MiB block.
No there isn't. 1229536 pages free means that there are 1229536 4k pages available that doesn't tell us anything about 2MB pages, nor if those are usable for swiotlb.
Take a look at /proc/pagetypeinfo. There must at least be pages at order 9 or higher for an 2MB swiotlb allocation to succeed.
An alternative workaround is David Zhou's patch which completely avoids the swiotlb allocator on x86.