Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault

Andi Kleen
2010-07-16T19:32:22Z

On Fri, Jul 16, 2010 at 09:32:00PM +0300, Avi Kivity wrote:
> On 07/16/2010 09:22 PM, Mathieu Desnoyers wrote:
> >
> >>There aren't that many processes at this time (or there shouldn't be,
> >>don't know how fork-happy udev is at this stage), so the sync should be
> >>pretty fast. In any case, we can sync only modules that contain NMI
> >>handlers.
> >USB hotplug is a use-case happening randomly after the system is well there and
> >running; I'm afraid this does not fit in your module loading expectations. It
> >triggers tons of events, many of these actually load modules.
>
> How long would vmalloc_sync_all take with a few thousand mm_struct take?
>
> We share the pmds, yes? So it's a few thousand memory accesses.
> The direct impact is probably negligible, compared to actually
> loading the module from disk. All we need is to make sure the
> locking doesn't slow down unrelated stuff.

Also you have to remember that vmalloc_sync_all() only does something
when the top level page is actually updated. That is very rare.
(in many cases it should happen at most once per boot)
Most mapping changes update lower levels, and those are already
shared.

-Andi
--
ak@linux.intel.com -- Speaking for myself only.