[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGXD9OfAMUmrdFBap3aOYXOhXE6=i8qL7=+SsJYnrdEr3kyMKw@mail.gmail.com>
Date: Mon, 26 Nov 2012 15:06:53 -0800
From: Prasad Koya <prasad.koya@...il.com>
To: dzickus@...hat.com, aarcange@...hat.com,
LKML <linux-kernel@...r.kernel.org>
Subject: vmalloc_sync_all(), 64bit kernel, patches 9c48f1c629ecfa114850c03f875c6691003214de,
a79e53d85683c6dd9f99c90511028adc2043031f
Hi
Before going into crashkernel, nmi_shootdown_cpus() calls
register_die_notifier(), which calls vmalloc_sync_all(). I'm seeing
lockup in sync_global_pgds() (init_64.c). From 3.2 and up,
register_die_notifier() is replaced with register_nmi_handler() (patch
9c48f1c629ecfa114850c03f875c6691003214de), which doesn't call
vmalloc_sync_all(). Is it ok to skip vmalloc_sync_all() in this path?
I see sync_global_pgds() was touched by this patch:
a79e53d85683c6dd9f99c90511028adc2043031f. There are no virtual
machines involved and I see lockups at times.
thank you.
Prasad
/* Halt all other CPUs, calling the specified function on each of them
*
* This function can be used to halt all other CPUs on crash
@@ -794,7 +784,8 @@ void nmi_shootdown_cpus(nmi_shootdown_cb callback)
atomic_set(&waiting_for_crash_ipi, num_online_cpus() - 1);
/* Would it be better to replace the trap vector here? */
- if (register_die_notifier(&crash_nmi_nb))
+ if (register_nmi_handler(NMI_LOCAL, crash_nmi_callback,
+ NMI_FLAG_FIRST, "crash"))
return; /* return what? */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists