Not sure what you mean here.  All pages in the vma are backed by the file at
vm_file.  It is vm_pgoff which is meaningless.
As for your other concerns: yes, I hear you.  I suspect something will have
to give.  Ingo has a better feel for the problems which this code is solving
and hopefully he can comment.
Perhaps it is useful to itemise the prblems which we're trying to solve here:
- ZONE_NORMAL consumption by pte_chains
  Solved by objrmap and presumably page clustering.
- ZONE_NORMAL consumption by VMAs
  Solved by remap_file_pages.  Neither objrmap nor page clustering will
  help here.
- pte_chain setup and teardown CPU cost.
  objrmap does not seem to help.  Page clustering might, but is unlikely to
  be enabled on the machines which actually care about the overhead.
- get_unmapped_area() search complexity.
  Solved by remap_file_pages and by as-yet unimplemented algorithmic rework.
- pagefault frequency and TLB invalidation cost.
  Solved by MAP_POPULATE, could also be solved by MAP_PREFAULT (but it's
  not really a demonstrated problem).
Anything else?
So looking at the above, remap_file_pages() actually has pretty good
coverage.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/