Re: objrmap and vmtruncate

Andrew Morton
2003-04-05T00:31:54Z

Andrea Arcangeli <andrea@suse.de> wrote:
>
> the worst part IMHO is that it screwup the vma making the vma->vm_file
> totally wrong for the pages in the vma.

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.