linux.kernel - 26 new messages in 11 topics - digest
linux.kernel
http://groups.google.com/group/linux.kernel?hl=en
linux.kernel@googlegroups.com
Today's topics:
* : KGDB/KDB/UV updates. - 4 messages, 1 author
http://groups.google.com/group/linux.kernel/t/49c736b07b53b058?hl=en
* perf report: Add report.percentage config option - 6 messages, 1 author
http://groups.google.com/group/linux.kernel/t/a2b106be220a1f65?hl=en
* mm/zswap: Check all pool pages instead of one pool pages - 2 messages, 1
author
http://groups.google.com/group/linux.kernel/t/81cd07f00a212f3a?hl=en
* next bio iters break discard? - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/df8973f865430413?hl=en
* perf on raspberry-pi without overflow interrupt - 2 messages, 1 author
http://groups.google.com/group/linux.kernel/t/a41a2323b165e1d8?hl=en
* linux-next: manual merge of the tip tree with the net-next tree - 3 messages,
3 authors
http://groups.google.com/group/linux.kernel/t/ec246d2e3d0c7bcd?hl=en
* linux-next: manual merge of the akpm-current tree with the tip tree - 2
messages, 2 authors
http://groups.google.com/group/linux.kernel/t/dbed449ea85f37ac?hl=en
* linux-next: manual merge of the akpm-current tree with the char-misc tree -
1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/1cff4bcb8a419506?hl=en
* staging: ced1401: Fix dev_<level> messages - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/cf0ebd61b1e13adb?hl=en
* net_dma: revert 'copied_early' - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/f63a9d0143e0c240?hl=en
* perf tools: Enable --children option by default - 3 messages, 1 author
http://groups.google.com/group/linux.kernel/t/eb1147ab9c3d80ab?hl=en
==============================================================================
TOPIC: : KGDB/KDB/UV updates.
http://groups.google.com/group/linux.kernel/t/49c736b07b53b058?hl=en
==============================================================================
== 1 of 4 ==
Date: Mon, Jan 13 2014 8:30 pm
From: Mike Travis
* Change the fix for 'KDB not defined' build problem by changing
the kgdb_nmicallin() interface to include the KDB specific
reason code. This removes the dependency on KDB in the debug
core. It also requires a change to the kgdb call in from UV
NMI handler to avoid a compile error.
* Fix some problems found by the kbuild test robot.
* Fix UV call into kgdb to depend only on whether KGDB is defined
and not both KGDB and KDB. This allows the power nmi command
to use the gdb remote connection if enabled. Note new action
of 'kgdb' needs to be set as well to indicate user wants the
kernel to wait for gdb to be connected. If it's set to 'kdb'
then an error message is displayed if KDB is not configured.
--
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
== 2 of 4 ==
Date: Mon, Jan 13 2014 8:30 pm
From: Mike Travis
Fix some problems found by the kbuild test robot.
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Hedi Berriche <hedi@sgi.com>
---
arch/x86/include/asm/uv/uv.h | 2 --
arch/x86/kernel/apic/x2apic_uv_x.c | 1 -
arch/x86/platform/uv/uv_nmi.c | 9 ++++-----
3 files changed, 4 insertions(+), 8 deletions(-)
--- linux.orig/arch/x86/include/asm/uv/uv.h
+++ linux/arch/x86/include/asm/uv/uv.h
@@ -12,7 +12,6 @@ extern enum uv_system_type get_uv_system
extern int is_uv_system(void);
extern void uv_cpu_init(void);
extern void uv_nmi_init(void);
-extern void uv_register_nmi_notifier(void);
extern void uv_system_init(void);
extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
struct mm_struct *mm,
@@ -26,7 +25,6 @@ static inline enum uv_system_type get_uv
static inline int is_uv_system(void) { return 0; }
static inline void uv_cpu_init(void) { }
static inline void uv_system_init(void) { }
-static inline void uv_register_nmi_notifier(void) { }
static inline const struct cpumask *
uv_flush_tlb_others(const struct cpumask *cpumask, struct mm_struct *mm,
unsigned long start, unsigned long end, unsigned int cpu)
--- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c
+++ linux/arch/x86/kernel/apic/x2apic_uv_x.c
@@ -980,7 +980,6 @@ void __init uv_system_init(void)
uv_nmi_setup();
uv_cpu_init();
uv_scir_register_cpu_notifier();
- uv_register_nmi_notifier();
proc_mkdir("sgi_uv", NULL);
/* register Legacy VGA I/O redirection handler */
--- linux.orig/arch/x86/platform/uv/uv_nmi.c
+++ linux/arch/x86/platform/uv/uv_nmi.c
@@ -74,7 +74,6 @@ static atomic_t uv_in_nmi;
static atomic_t uv_nmi_cpu = ATOMIC_INIT(-1);
static atomic_t uv_nmi_cpus_in_nmi = ATOMIC_INIT(-1);
static atomic_t uv_nmi_slave_continue;
-static atomic_t uv_nmi_kexec_failed;
static cpumask_var_t uv_nmi_cpu_mask;
/* Values for uv_nmi_slave_continue */
@@ -504,6 +503,7 @@ static void uv_nmi_touch_watchdogs(void)
}
#if defined(CONFIG_KEXEC)
+static atomic_t uv_nmi_kexec_failed;
static void uv_nmi_kdump(int cpu, int master, struct pt_regs *regs)
{
/* Call crash to dump system state */
@@ -634,7 +634,7 @@ int uv_handle_nmi(unsigned int reason, s
/*
* NMI handler for pulling in CPUs when perf events are grabbing our NMI
*/
-int uv_handle_nmi_ping(unsigned int reason, struct pt_regs *regs)
+static int uv_handle_nmi_ping(unsigned int reason, struct pt_regs *regs)
{
int ret;
@@ -651,7 +651,7 @@ int uv_handle_nmi_ping(unsigned int reas
return ret;
}
-void uv_register_nmi_notifier(void)
+static void uv_register_nmi_notifier(void)
{
if (register_nmi_handler(NMI_UNKNOWN, uv_handle_nmi, 0, "uv"))
pr_warn("UV: NMI handler failed to register\n");
@@ -695,6 +695,5 @@ void uv_nmi_setup(void)
uv_hub_nmi_per(cpu) = uv_hub_nmi_list[nid];
}
BUG_ON(!alloc_cpumask_var(&uv_nmi_cpu_mask, GFP_KERNEL));
+ uv_register_nmi_notifier();
}
-
-
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
== 3 of 4 ==
Date: Mon, Jan 13 2014 8:30 pm
From: Mike Travis
Some code added to the debug_core module had KDB dependencies that it
shouldn't have. Move the KDB dependent REASON back to the caller to
remove the dependency in the debug core code.
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Hedi Berriche <hedi@sgi.com>
---
arch/x86/platform/uv/uv_nmi.c | 2 +-
include/linux/kgdb.h | 3 ++-
kernel/debug/debug_core.c | 5 +++--
kernel/debug/debug_core.h | 2 --
4 files changed, 6 insertions(+), 6 deletions(-)
--- linux.orig/arch/x86/platform/uv/uv_nmi.c
+++ linux/arch/x86/platform/uv/uv_nmi.c
@@ -546,7 +546,7 @@ static void uv_call_kdb(int cpu, struct
if (master) {
/* call KGDB NMI handler as MASTER */
ret = kgdb_nmicallin(cpu, X86_TRAP_NMI, regs,
- &uv_nmi_slave_continue);
+ KDB_REASON_SYSTEM_NMI, &uv_nmi_slave_continue);
if (ret) {
pr_alert("KDB returned error, is kgdboc set?\n");
atomic_set(&uv_nmi_slave_continue, SLAVE_EXIT);
--- linux.orig/include/linux/kgdb.h
+++ linux/include/linux/kgdb.h
@@ -310,7 +310,8 @@ extern int
kgdb_handle_exception(int ex_vector, int signo, int err_code,
struct pt_regs *regs);
extern int kgdb_nmicallback(int cpu, void *regs);
-extern int kgdb_nmicallin(int cpu, int trapnr, void *regs, atomic_t *snd_rdy);
+extern int kgdb_nmicallin(int cpu, int trapnr, void *regs, int err_code,
+ atomic_t *snd_rdy);
extern void gdbstub_exit(int status);
extern int kgdb_single_step;
--- linux.orig/kernel/debug/debug_core.c
+++ linux/kernel/debug/debug_core.c
@@ -736,7 +736,8 @@ int kgdb_nmicallback(int cpu, void *regs
return 1;
}
-int kgdb_nmicallin(int cpu, int trapnr, void *regs, atomic_t *send_ready)
+int kgdb_nmicallin(int cpu, int trapnr, void *regs, int err_code,
+ atomic_t *send_ready)
{
#ifdef CONFIG_SMP
if (!kgdb_io_ready(0) || !send_ready)
@@ -750,7 +751,7 @@ int kgdb_nmicallin(int cpu, int trapnr,
ks->cpu = cpu;
ks->ex_vector = trapnr;
ks->signo = SIGTRAP;
- ks->err_code = KGDB_KDB_REASON_SYSTEM_NMI;
+ ks->err_code = err_code;
ks->linux_regs = regs;
ks->send_ready = send_ready;
kgdb_cpu_enter(ks, regs, DCPU_WANT_MASTER);
--- linux.orig/kernel/debug/debug_core.h
+++ linux/kernel/debug/debug_core.h
@@ -75,13 +75,11 @@ extern int kdb_stub(struct kgdb_state *k
extern int kdb_parse(const char *cmdstr);
extern int kdb_common_init_state(struct kgdb_state *ks);
extern int kdb_common_deinit_state(void);
-#define KGDB_KDB_REASON_SYSTEM_NMI KDB_REASON_SYSTEM_NMI
#else /* ! CONFIG_KGDB_KDB */
static inline int kdb_stub(struct kgdb_state *ks)
{
return DBG_PASS_EVENT;
}
-#define KGDB_KDB_REASON_SYSTEM_NMI 0
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home