On 2017/09/28 6:46, Yang Shi wrote:
Changelog v7 â> v8:
* Adopted Michalâs suggestion to dump unreclaim slab info when unreclaimable slabs amount > total user memory. Not only in oom panic path.
Holding slab_mutex inside dump_unreclaimable_slab() was refrained since V2
because there are
mutex_lock(&slab_mutex);
kmalloc(GFP_KERNEL);
mutex_unlock(&slab_mutex);
users. If we call dump_unreclaimable_slab() for non OOM panic path, aren't we
introducing a risk of crash (i.e. kernel panic) for regular OOM path?
We can try mutex_trylock() from dump_unreclaimable_slab() at best.
But it is still remaining unsafe, isn't it?