Re: [patch] mm: reduce pagetable-freeing latencies

From: Benjamin Herrenschmidt
Date: Wed Jul 25 2007 - 06:48:34 EST


On Wed, 2007-07-25 at 12:26 +0200, Andi Kleen wrote:
> > Plan is fixed array or 4 or maybe 8 entries (pointers), that shouldn't
> > be -too- bad. The code path I'm a bit worried about is
>
> Yep.
>
> > unmap_mapping_ranges() which goes into zapping page tables from deep
> > within filesystems.
>
> Your aim is to conserve stack space?
> The worst case has to work without overflow anyways, so using VLAs don't
> help you. Just allocate the largest size you can safely afford.
>
> This is also easier to test; if it is too large it is better when
> the overflow triggers always.
>
> They are more useful in user space with larger stacks when you don't
> know the maximum size.

In fact, i discussed with peter and I think the best is to only have one
entry in the stack mmu_gather structure. If we fail to allocate a page
to batch entries, we flush that one and steal it :-) Then we have a page
to gather more.

I'll give that a go tomorrow, I got delayed by some stupid HW issues
today.

Cheers,
Ben.


-
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/