dma-pool: fix too large DMA pools on medium memory size systems
authorGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 8 Jun 2020 13:22:17 +0000 (15:22 +0200)
committerChristoph Hellwig <hch@lst.de>
Tue, 9 Jun 2020 13:25:52 +0000 (15:25 +0200)
commit3ee06a6d532f75f20528ff4d2c473cda36c484fe
treef6268842ead89b06f33403dded9cfe5270c7b811
parentabfbb29297c27e3f101f348dc9e467b0fe70f919
dma-pool: fix too large DMA pools on medium memory size systems

On systems with at least 32 MiB, but less than 32 GiB of RAM, the DMA
memory pools are much larger than intended (e.g. 2 MiB instead of 128
KiB on a 256 MiB system).

Fix this by correcting the calculation of the number of GiBs of RAM in
the system.  Invert the order of the min/max operations, to keep on
calculating in pages until the last step, which aids readability.

Fixes: 1d659236fb43c4d2 ("dma-pool: scale the default DMA coherent pool size with memory capacity")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
kernel/dma/pool.c