[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091103204542.GC4962@nowhere>
Date: Tue, 3 Nov 2009 21:45:43 +0100
From: Frederic Weisbecker <fweisbec@...il.com>
To: Jan Kiszka <jan.kiszka@....de>
Cc: Ingo Molnar <mingo@...e.hu>, LKML <linux-kernel@...r.kernel.org>,
Prasad <prasad@...ux.vnet.ibm.com>,
Alan Stern <stern@...land.harvard.edu>,
Peter Zijlstra <peterz@...radead.org>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>,
Jiri Slaby <jirislaby@...il.com>,
Li Zefan <lizf@...fujitsu.com>, Avi Kivity <avi@...hat.com>,
Paul Mackerras <paulus@...ba.org>,
Mike Galbraith <efault@....de>,
Masami Hiramatsu <mhiramat@...hat.com>,
Paul Mundt <lethal@...ux-sh.org>
Subject: Re: [PATCH 4/6] hw-breakpoints: Rewrite the hw-breakpoints layer
on top of perf events
On Tue, Nov 03, 2009 at 09:39:16PM +0100, Jan Kiszka wrote:
> Frederic Weisbecker wrote:
> > On Tue, Nov 03, 2009 at 09:22:04PM +0100, Jan Kiszka wrote:
> >>> Thinking about it, this check should cover every cases:
> >>>
> >>> if (vcpu->arch.switch_db_regs || __get_cpu_var(dr7) & DR_GLOBAL_ENABLE_MASK)
> >>>
> >>> If we have __get_cpu_var(dr7) & DR_GLOBAL_ENABLE_MASK, it means there is an
> >>> active breakpoint and then we should restore the current state.
> >>>
> >> And what about (__get_cpu_var(dr7) & DR_GLOBAL_ENABLE_MASK) only? Would
> >> you be able to live with unsync'ed hardware and software states?
> >>
> >> Jan
> >>
> >
> >
> > But if the guest has breakpoints activated, the host will inherit
> > them, which is really not something we want, assuming vcpu->arch.switch_db_regs
> > already protects us about that.
> >
>
> Nope, vmx&svm will clear dr7 on vmexit for us. Really, switch_db_regs
> should not be needed if we can leave the debug registers clobbered but
> disabled behind.
>
> Jan
>
That looks fine then.
We never manipulate the breakpoints as beeing disabled from perf
(address reg set but dr7 disabled) so we can have such unstable
state in the address registers if dr7 is not enabled for the given
address registers.
Fine, I'll send another patch for that.
Thanks.
--
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