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 <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

