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, profiles will show a function named kvm_vmx_return taking a few percent cpu, although there is no such function. > > With LTO there is no way to force two functions be in the same assembler > file. The partitioner is always allowed to split. I'm not trying to force two functions to be in the same assembler file. > >> >> 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. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html