All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyrill Gorcunov <gorcunov@gmail.com>
To: nm127@freemail.hu
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: cleanups to nmi_watchdog variable
Date: Sun, 8 Jun 2008 19:56:49 +0400	[thread overview]
Message-ID: <20080608155649.GC7020@cvg> (raw)
In-Reply-To: <484AAD0B.1030407@freemail.hu>


| From: Márton Németh <nm127@freemail.hu>
| 
| Use NMI_NONE instead of 0. As the symbol NMI_DISABLED equals to -1,
| the nmi_watchdog variable should also be signed.
| 
| Signed-off-by: Márton Németh <nm127@freemail.hu>
| ---
| diff -upr linux-2.6.26-rc5.orig/arch/x86/kernel/io_apic_32.c linux-2.6.26-rc5/arch/x86/kernel/io_apic_32.c
| --- linux-2.6.26-rc5.orig/arch/x86/kernel/io_apic_32.c	2008-06-07 12:35:24.000000000 +0200
| +++ linux-2.6.26-rc5/arch/x86/kernel/io_apic_32.c	2008-06-07 12:40:20.000000000 +0200
| @@ -2217,7 +2217,7 @@ static inline void __init check_timer(vo
| 
|  	if (nmi_watchdog == NMI_IO_APIC) {
|  		printk(KERN_WARNING "timer doesn't work through the IO-APIC - disabling NMI Watchdog!\n");
| -		nmi_watchdog = 0;
| +		nmi_watchdog = NMI_NONE;
|  	}
| 
|  	printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ...");
| diff -upr linux-2.6.26-rc5.orig/arch/x86/kernel/io_apic_64.c linux-2.6.26-rc5/arch/x86/kernel/io_apic_64.c
| --- linux-2.6.26-rc5.orig/arch/x86/kernel/io_apic_64.c	2008-06-05 18:39:49.000000000 +0200
| +++ linux-2.6.26-rc5/arch/x86/kernel/io_apic_64.c	2008-06-07 12:37:01.000000000 +0200
| @@ -1735,7 +1735,7 @@ static inline void __init check_timer(vo
| 
|  	if (nmi_watchdog == NMI_IO_APIC) {
|  		printk(KERN_WARNING "timer doesn't work through the IO-APIC - disabling NMI Watchdog!\n");
| -		nmi_watchdog = 0;
| +		nmi_watchdog = NMI_NONE;
|  	}
| 
|  	apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as Virtual Wire IRQ...");
| diff -upr linux-2.6.26-rc5.orig/arch/x86/kernel/nmi_32.c linux-2.6.26-rc5/arch/x86/kernel/nmi_32.c
| --- linux-2.6.26-rc5.orig/arch/x86/kernel/nmi_32.c	2008-06-05 18:39:49.000000000 +0200
| +++ linux-2.6.26-rc5/arch/x86/kernel/nmi_32.c	2008-06-07 11:19:55.000000000 +0200
| @@ -43,7 +43,7 @@ static cpumask_t backtrace_mask = CPU_MA
|   */
|  atomic_t nmi_active = ATOMIC_INIT(0);		/* oprofile uses this */
| 
| -unsigned int nmi_watchdog = NMI_DEFAULT;
| +int nmi_watchdog = NMI_DEFAULT;
|  static unsigned int nmi_hz = HZ;
| 
|  static DEFINE_PER_CPU(short, wd_enabled);
| diff -upr linux-2.6.26-rc5.orig/arch/x86/kernel/nmi_64.c linux-2.6.26-rc5/arch/x86/kernel/nmi_64.c
| --- linux-2.6.26-rc5.orig/arch/x86/kernel/nmi_64.c	2008-06-05 18:39:49.000000000 +0200
| +++ linux-2.6.26-rc5/arch/x86/kernel/nmi_64.c	2008-06-07 11:20:00.000000000 +0200
| @@ -43,7 +43,7 @@ static cpumask_t backtrace_mask = CPU_MA
|  atomic_t nmi_active = ATOMIC_INIT(0);		/* oprofile uses this */
|  static int panic_on_timeout;
| 
| -unsigned int nmi_watchdog = NMI_DEFAULT;
| +int nmi_watchdog = NMI_DEFAULT;
|  static unsigned int nmi_hz = HZ;
| 
|  static DEFINE_PER_CPU(short, wd_enabled);
| diff -upr linux-2.6.26-rc5.orig/include/asm-x86/nmi.h linux-2.6.26-rc5/include/asm-x86/nmi.h
| --- linux-2.6.26-rc5.orig/include/asm-x86/nmi.h	2008-06-05 18:40:12.000000000 +0200
| +++ linux-2.6.26-rc5/include/asm-x86/nmi.h	2008-06-07 11:21:20.000000000 +0200
| @@ -61,7 +61,7 @@ extern void enable_timer_nmi_watchdog(vo
|  extern int nmi_watchdog_tick(struct pt_regs *regs, unsigned reason);
| 
|  extern atomic_t nmi_active;
| -extern unsigned int nmi_watchdog;
| +extern int nmi_watchdog;
|  #define NMI_DISABLED    -1
|  #define NMI_NONE	0
|  #define NMI_IO_APIC	1
| 

We should leave nmi_watchdog as unsigned. The only snippet which
could be reviewed as controversy point  - is touch_nmi_watchdog()
where we just test nmi_watchdog for being greater than 0. Actually
there NMI_NONE should be used instead. But frankly some additional
simplification is needed.

		- Cyrill -

  parent reply	other threads:[~2008-06-08 15:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-07 15:45 [PATCH] x86: cleanups to nmi_watchdog variable Németh Márton
2008-06-07 16:32 ` Cyrill Gorcunov
2008-06-08 15:56 ` Cyrill Gorcunov [this message]
2008-06-08 16:23   ` Németh Márton
2008-06-08 16:31     ` Cyrill Gorcunov
2008-06-08 20:28     ` Cyrill Gorcunov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080608155649.GC7020@cvg \
    --to=gorcunov@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nm127@freemail.hu \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.