Note that in current disco things have gotten worse - our single page allocations have blown up to 11753:
$ cat cma.disco.dmesg | grep "cma: cma_alloc(cma" | sed -r 's/.*count ([0-9]+)\,.*/\1/' | sort -n | uniq -c 11753 1 3 2 3 4 234 8 32 16 2 24 4 32 256 33 39 64 2 128 2 1024
I bisected this down to a backport of the following commit: 3e394f9413ec RDMA/hns: Modify qp&cq&pd specification according to UM
Reverting that gets us down to 3029 single page allocations, freeing up about 34M.
Note that in current disco things have gotten worse - our single page allocations have blown up to 11753:
$ cat cma.disco.dmesg | grep "cma: cma_alloc(cma" | sed -r 's/.*count ([0-9]+)\,.*/\1/' | sort -n | uniq -c
11753 1
3 2
3 4
234 8
32 16
2 24
4 32
256 33
39 64
2 128
2 1024
I bisected this down to a backport of the following commit:
3e394f9413ec RDMA/hns: Modify qp&cq&pd specification according to UM
Reverting that gets us down to 3029 single page allocations, freeing up about 34M.