Re: kmalloc without GFP_xxx?
From: Manfred Spraul
Date: Wed Jun 29 2005 - 15:30:47 EST
Denis wrote:
It struck me that kernel actually can figure out whether it's okay
to sleep or not by looking at combination of (flags & __GFP_WAIT)
and ((in_atomic() || irqs_disabled()) as it already does this for
might_sleep() barfing:
Wrong:
- the kernel cannot figure out if a thread owns a normal spinlock():
in_atomic detects spin_lock_bh(), irqs_disabled spin_lock_irq(). But
spin_lock has no global state.
- dito for get_cpu()/put_cpu users.
- dito for rcu users, or anyone else that uses preempt_disable() for
whatever purpose
--
Manfred
-
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/