x86: traps_xx: modify default_do_nmi
- local caching of smp_processor_id() in default_do_nmi() - v2: do not split default_do_nmi over two lines On Wed, Jul 02, 2008 at 08:12:20PM +0400, Cyrill Gorcunov wrote: > | -static notrace __kprobes void default_do_nmi(struct pt_regs *regs) > | +static notrace __kprobes void > | +default_do_nmi(struct pt_regs *regs) > | [ ... ] > | -asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs) > | +asmlinkage notrace __kprobes void > | +default_do_nmi(struct pt_regs *regs) > > Hi Alexander, good done, thanks! But why did you split default_do_nmi > definition by two lines? I think it would be better to keep them as it > was before, ie by a single line > > static notrace __kprobes void default_do_nmi(struct pt_regs *regs) Thanks! Here is the replacement patch with default_do_nmi left on a single line. Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm> Acked-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
13485ab55b
commit
abd3480727
2 changed files with 7 additions and 4 deletions
|
@ -789,9 +789,12 @@ void notrace __kprobes die_nmi(char *str, struct pt_regs *regs, int do_panic)
|
|||
static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
|
||||
{
|
||||
unsigned char reason = 0;
|
||||
int cpu;
|
||||
|
||||
/* Only the BSP gets external NMIs from the system: */
|
||||
if (!smp_processor_id())
|
||||
cpu = smp_processor_id();
|
||||
|
||||
/* Only the BSP gets external NMIs from the system. */
|
||||
if (!cpu)
|
||||
reason = get_nmi_reason();
|
||||
|
||||
if (!(reason & 0xc0)) {
|
||||
|
@ -805,7 +808,7 @@ static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
|
|||
*/
|
||||
if (nmi_watchdog_tick(regs, reason))
|
||||
return;
|
||||
if (!do_nmi_callback(regs, smp_processor_id()))
|
||||
if (!do_nmi_callback(regs, cpu))
|
||||
unknown_nmi_error(reason, regs);
|
||||
#else
|
||||
unknown_nmi_error(reason, regs);
|
||||
|
|
|
@ -827,7 +827,7 @@ unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
|
|||
|
||||
/* Runs on IST stack. This code must keep interrupts off all the time.
|
||||
Nested NMIs are prevented by the CPU. */
|
||||
asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs)
|
||||
asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs)
|
||||
{
|
||||
unsigned char reason = 0;
|
||||
int cpu;
|
||||
|
|
Reference in a new issue