Re: [Lhms-devel] [PATCH 0/7] Fragmentation Avoidance V19

Andrew Morton
2005-11-04T17:38:33Z

"Martin J. Bligh" <mbligh@mbligh.org> wrote:
>
> > Seriously, it does appear that doing it per-task is adequate for your
> > needs, and it is certainly more general.
> >
> >
> >
> > I cannot understand why you decided to count only the number of
> > direct-reclaim events, via a "digitally filtered, constant time based,
> > event frequency meter".
> >
> > a) It loses information. If we were to export the number of pages
> > reclaimed from the mm, filtering can be done in userspace.
> >
> > b) It omits reclaim performed by kswapd and by other tasks (ok, it's
> > very cpuset-specific).
> >
> > c) It only counts synchronous try_to_free_pages() attempts. What if an
> > attempt only freed pagecache, or didbn't manage to free anything?
> >
> > d) It doesn't notice if kswapd is swapping the heck out of your
> > not-allocating-any-memory-now process.
> >
> >
> > I think all the above can be addressed by exporting per-task (actually
> > per-mm) reclaim info. (I haven't put much though into what info that
> > should be - page reclaim attempts, mmapped reclaims, swapcache reclaims,
> > etc)
>
> I've been looking at similar things. When we page out / free something from
> a shared library that 10 tasks have mapped, who does that count against
> for pressure?

Count pte unmappings and minor faults and account them against the
mm_struct, I guess.