[Patch 5/5] PPC64-HWBKPT: Discard extraneous interrupt due to accesses outside symbol length

K.Prasad prasad at linux.vnet.ibm.com
Tue Jun 15 16:07:33 EST 2010


On Thu, Jun 10, 2010 at 10:40:24PM +1000, Paul Mackerras wrote:
> On Wed, Jun 09, 2010 at 03:55:59PM +0530, K.Prasad wrote:
> 
> > +	if (!((bp->attr.bp_addr <= dar) &&
> > +	     (dar <= (bp->attr.bp_addr + bp->attr.bp_len)))) {
> > +		/*
> > +		 * This exception is triggered not because of a memory access
> > +		 * on the monitored variable but in the double-word address
> > +		 * range in which it is contained. We will consume this
> > +		 * exception, considering it as 'noise'.
> > +		 */
> > +		info->extraneous_interrupt = true;
> > +	}
> 
> Ummm, don't you need to add "else info->extraneous_interrupt = false;"
> here?  I don't see anywhere that you ever clear it otherwise.
> 
> Also, I think you need to do the "if (!info->extraneous_interrupt)"
> check around the call to perf_bp_event() later on in
> hw_breakpoint_handler() as well as around the call in
> single_step_dabr_instruction().
> 
> Paul.

True, I've added the check before perf_bp_event() (wherever it was
missing before) in the patchset ver XXIV.

Thanks,
K.Prasad



More information about the Linuxppc-dev mailing list