Re: [PATCH 37/74] lto, KVM: Don't assume asm statements end up in the same assembler file

From: Andi Kleen
Date: Sun Aug 19 2012 - 11:20:53 EST


On Sun, Aug 19, 2012 at 06:12:57PM +0300, Avi Kivity wrote:
> On 08/19/2012 06:09 PM, Andi Kleen wrote:
> >> The reason we use a local label is so that we the function isn't split
> >> into two from the profiler's point of view. See cd2276a795b013d1.
> >
> > Hmm that commit message is not very enlightening.
> >
> > The goal was to force a compiler error?
>
> No, the goal was to avoid a global label in the middle of a function.
> The profiler interprets it as a new function. After your patch,

Ah got it now. I always used to have the same problem with sys_call_return.`

I wonder if there shouldn't be a way to tell perf to ignore a symbol.

> >>
> >> One way to fix this is to have a .data variable initialized to point to
> >> .Lkvm_vmx_return (this can be done from the same asm statement in
> >> vmx_vcpu_run), and reference that variable in
> >> vmx_set_constant_host_state(). If no one comes up with a better idea,
> >> I'll write a patch doing this.
> >
> > I'm not clear how that is better than my patch.
>
> My patch will not generate the artifact with kvm_vmx_return.

Ok fine for me. I'll keep this patch for now, until you have
something better.

-Andi


--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/