On 12/13/21 at 08:44am, Christoph Hellwig wrote: > On Tue, Dec 07, 2021 at 11:07:47AM +0800, Baoquan He wrote: > > In the current code, three atomic memory pools are always created, > > atomic_pool_kernel|dma|dma32, even though 'coherent_pool=0' is > > specified in kernel command line. In fact, atomic pool is only > > necessary when CONFIG_DMA_DIRECT_REMAP=y or mem_encrypt_active=y > > which are needed on few ARCHes. > > And only these select the atomic pool, so it won't get created otherwise. > What problem are you trying to solve? This tries to make "coherent_pool=0" behave normally. As you see, 'coherent_pool=0' will behave like no 'coherent_pool' being specified. This is not consistent with other similar kernel parameter, e.g cma=. At the beginning, I planned to add a knob to allow user to disable one or all atomic pool. Later I changed. However I think this patch makes sense on fixing the a little bizarre behaviour, 'coherent_pool=0' but still get atomic pool created. I can drop it if you think it's unnecessary.