On Fri, 28 Sep 2007, KAMEZAWA Hiroyuki wrote:
On Tue, 25 Sep 2007 16:42:17 -0700
Christoph Lameter [EMAIL PROTECTED] wrote:
+static noinline void vcompound_free(void *addr)
+{
+ if (in_interrupt()) {
Should be (in_interrupt() || irqs_disabled()) ?
Maybe only irqs_disabled()?
-
To
On Fri, 28 Sep 2007 10:35:44 -0700 (PDT)
Christoph Lameter [EMAIL PROTECTED] wrote:
On Fri, 28 Sep 2007, KAMEZAWA Hiroyuki wrote:
On Tue, 25 Sep 2007 16:42:17 -0700
Christoph Lameter [EMAIL PROTECTED] wrote:
+static noinline void vcompound_free(void *addr)
+{
+ if
On Tue, 25 Sep 2007 16:42:17 -0700
Christoph Lameter [EMAIL PROTECTED] wrote:
+static noinline void vcompound_free(void *addr)
+{
+ if (in_interrupt()) {
Should be (in_interrupt() || irqs_disabled()) ?
Regards,
-Kame
-
To unsubscribe from this list: send the line unsubscribe
If we are in an interrupt context then simply defer the free via a workqueue.
Removing a virtual mappping *must* be done with interrupts enabled
since tlb_xx functions are called that rely on interrupts for
processor to processor communications.
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
On Wednesday 19 September 2007 13:36, Christoph Lameter wrote:
If we are in an interrupt context then simply defer the free via a
workqueue.
In an interrupt context it is not possible to use vmalloc_addr() to
determine the vmalloc address. So add a variant that does that too.
Removing a
On Wed, 19 Sep 2007, Nick Piggin wrote:
Removing a virtual mappping *must* be done with interrupts enabled
since tlb_xx functions are called that rely on interrupts for
processor to processor communications.
These things will clash drastically with my lazy TLB flushing and scalability
If we are in an interrupt context then simply defer the free via a workqueue.
In an interrupt context it is not possible to use vmalloc_addr() to determine
the vmalloc address. So add a variant that does that too.
Removing a virtual mappping *must* be done with interrupts enabled
since tlb_xx