On Thu, Feb 28, 2013 at 11:27:23AM -0500, Boris Ostrovsky wrote: > On 02/28/2013 11:22 AM, Borislav Petkov wrote: > >On Thu, Feb 28, 2013 at 11:20:20AM -0500, Boris Ostrovsky wrote: > >>On 02/28/2013 11:10 AM, Borislav Petkov wrote: > >>>On Thu, Feb 28, 2013 at 07:53:44AM -0800, H. Peter Anvin wrote: > >>>>At the very least we should have an early filter for the **COMMON!** > >>>>case that we are not on a PV platform. > >>>... or, patch it out with the alternatives on baremetal, as Steven > >>>suggested. > > What was the suggestion exactly? I don't remember seeing that message.
Yeah, Borislav talked to me privately on IRC about this and I pointed him to the apply_paravirt() function in arch/x86/kernel/alternative.c where things that apply only to paravirt get patched out on baremetal. It may add complexity, but there's a method for doing it and I rather not burden baremetal for pravirt nonsense. I know adding a simple call to preempt_count() can show a noticable impact to function tracing. It requires referencing the gs segment register and doing some offset games (as it's stored as a per cpu pointer) to find the stack. I was actually a bit amazed that it had as big of an impact as it did. I can understand why Christoph Lameter tried hard not to add a preempt_disable() in his code for just a tiny location. -- Steve > > -boris > > >>> > >>I think making a check for paravirt_enabled() is safe enough. I'll > >>send a patch shortly. > >Why not make it absolutely for free? > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/