Re: [patch -mm] i386: use pte_update_defer in ptep_test_and_clear_{dirty,young}

From: David Rientjes
Date: Mon Apr 16 2007 - 15:20:39 EST


On Mon, 16 Apr 2007, Hugh Dickins wrote:

> > > Compromise patch below: would that be satisfactory to you, David?
> >
> > I really like the patch, but for perhaps a slightly different reason:
> > we're only flushing ranges that have been shown to need it. We aren't
> > completely flushing the entire mm which is likely to be excessive in
> > situations where we're actually using /proc/pid/clear_refs in combination
> > with /proc/pid/smaps for memory footprint approximation (i.e. it's on a
> > fine granularity).
>
> It would be more of a reason to like the patch, if more architectures
> actually implemented flush_tlb_range as anything different from
> flush_tlb_mm ;) Sadly, few can do better than flush_tlb_mm: ia64
> is the exception I remember, and maybe a couple of others. I put
> flush_tlb_range there merely because it seems more appropriate,
> but it's rather deceptive.
>

Sure, but what I really like about the patch is that we're only flushing
something if !flush_end in the first place. So we can eliminate any TLB
flushing if that VMA didn't need it; that's a change from the current
behavior. And since the most obvious use-case for /proc/pid/clear_refs is
in conjunction with /proc/pid/smaps for approximating memory footprint,
we'll end up saving TLB flushes because the granularity with which that
measurement is taken is usually very fine.

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
-
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/