diff options
| author | Hugh Dickins <[email protected]> | 2005-10-30 01:16:00 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2005-10-30 04:40:37 +0000 |
| commit | 7be7a546994f1222b2312fd348da14e16b6b7b42 (patch) | |
| tree | e1f8dae8783274372a0f136be6eb64102877e9f6 /fs/proc/array.c | |
| parent | [PATCH] mm: page fault handlers tidyup (diff) | |
| download | kernel-7be7a546994f1222b2312fd348da14e16b6b7b42.tar.gz kernel-7be7a546994f1222b2312fd348da14e16b6b7b42.zip | |
[PATCH] mm: move_page_tables by extents
Speeding up mremap's moving of ptes has never been a priority, but the locking
will get more complicated shortly, and is already too baroque.
Scrap the current one-by-one moving, do an extent at a time: curtailed by end
of src and dst pmds (have to use PMD_SIZE: the way pmd_addr_end gets elided
doesn't match this usage), and by latency considerations.
One nice property of the old method is lost: it never allocated a page table
unless absolutely necessary, so you could free empty page tables by mremapping
to and fro. Whereas this way, it allocates a dst table wherever there was a
src table. I keep diving in to reinstate the old behaviour, then come out
preferring not to clutter how it now is.
Signed-off-by: Hugh Dickins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions
