Re: zram: zsmalloc calls sleeping function from atomic context

From: Peter Zijlstra
Date: Tue Mar 18 2014 - 08:53:16 EST


On Mon, Mar 17, 2014 at 04:01:17PM -0700, Andrew Morton wrote:
> btw, I note that vunmap() itself already has a might_sleep() in it, and
> I can't work out why - I don't think it _does_ sleep. The changelog to
> 34754b69a6f87aa6aa is, in toto:
>
> "x86: make vmap yell louder when it is used under irqs_disabled()"
>
> No explanation *why*. And why didn't it use WARN_ON(irqs_disabled())?

Man I suck.. and 5 years ago too. I can barely remember last week.

Lets see if the email archive has clues.

vmap()
get_vm_area_caller()
__get_vm_area_node(.gfp = GFP_KERNEL)
kmalloc_node(gfp);


It does sleep.

https://lkml.org/lkml/2009/2/13/115
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/