提交 970e7250 编写于 作者: A Andrew Morton 提交者: Ingo Molnar

x86, ptrace: PEBS support, warning fix

arch/x86/kernel/process_32.c:566: warning: unused variable 'ds_next'
arch/x86/kernel/process_32.c:566: warning: unused variable 'ds_prev'

Cc: Markus Metzger <markus.t.metzger@intel.com>
Cc: Andi Kleen <ak@suse.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Michael Kerrisk <mtk.manpages@googlemail.com>
Cc: <juan.villacis@intel.com>
Cc: stephane eranian <eranian@googlemail.com>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 93fa7636
...@@ -484,20 +484,13 @@ int set_tsc_mode(unsigned int val) ...@@ -484,20 +484,13 @@ int set_tsc_mode(unsigned int val)
return 0; return 0;
} }
static noinline void #ifdef CONFIG_X86_DS
__switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, static int update_debugctl(struct thread_struct *prev,
struct tss_struct *tss) struct thread_struct *next, unsigned long debugctl)
{ {
struct thread_struct *prev, *next; unsigned long ds_prev = 0;
unsigned long debugctl; unsigned long ds_next = 0;
unsigned long ds_prev = 0, ds_next = 0;
prev = &prev_p->thread;
next = &next_p->thread;
debugctl = prev->debugctlmsr;
#ifdef CONFIG_X86_DS
if (prev->ds_ctx) if (prev->ds_ctx)
ds_prev = (unsigned long)prev->ds_ctx->ds; ds_prev = (unsigned long)prev->ds_ctx->ds;
if (next->ds_ctx) if (next->ds_ctx)
...@@ -510,8 +503,28 @@ __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, ...@@ -510,8 +503,28 @@ __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
update_debugctlmsr(0); update_debugctlmsr(0);
wrmsr(MSR_IA32_DS_AREA, ds_next, 0); wrmsr(MSR_IA32_DS_AREA, ds_next, 0);
} }
return debugctl;
}
#else
static int update_debugctl(struct thread_struct *prev,
struct thread_struct *next, unsigned long debugctl)
{
return debugctl;
}
#endif /* CONFIG_X86_DS */ #endif /* CONFIG_X86_DS */
static noinline void
__switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
struct tss_struct *tss)
{
struct thread_struct *prev, *next;
unsigned long debugctl;
prev = &prev_p->thread;
next = &next_p->thread;
debugctl = update_debugctl(prev, next, prev->debugctlmsr);
if (next->debugctlmsr != debugctl) if (next->debugctlmsr != debugctl)
update_debugctlmsr(next->debugctlmsr); update_debugctlmsr(next->debugctlmsr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册