Steven Rostedt
2013-Feb-28 18:14 UTC
Re: Is: x86: mm: Fix vmalloc_fault oops during lazy MMU updates Was: Re: [PATCH] mm/x86: Flush lazy MMU when DEBUG_PAGEALLOC is set
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? > >