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/