linux/mm
Christian Borntraeger ce7e9fae8d [S390] Optimize storage key handling for anonymous pages
page_mkclean used to call page_clear_dirty for every given page. This
is different to all other architectures, where the dirty bit in the
PTEs is only resetted, if page_mapping() returns a non-NULL pointer.
We can move the page_test_dirty/page_clear_dirty sequence into the
2nd if to avoid unnecessary iske/sske sequences, which are expensive.

This change also helps kvm for s390 as the host must transfer the
dirty bit into the guest status bits. By moving the page_clear_dirty
operation into the 2nd if, the vm will only call page_clear_dirty
for pages where it walks the mapping anyway. There it calls
ptep_clear_flush for writable ptes, so we can transfer the dirty bit
to the guest.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2007-11-20 11:13:46 +01:00
..
allocpercpu.c
backing-dev.c
bootmem.c
bounce.c
fadvise.c
filemap_xip.c
filemap.c Remove broken ptrace() special-case code from file mapping 2007-10-31 09:19:46 -07:00
fremap.c
highmem.c
hugetlb.c hugetlb: fix i_blocks accounting 2007-11-14 18:45:40 -08:00
internal.h
Kconfig
madvise.c
Makefile
memory_hotplug.c Add IORESOUCE_BUSY flag for System RAM 2007-11-14 18:45:39 -08:00
memory.c Swap delay accounting, include lock_page() delays 2007-11-14 18:45:44 -08:00
mempolicy.c Migration: find correct vma in new_vma_page() 2007-11-14 18:45:38 -08:00
mempool.c
migrate.c
mincore.c
mlock.c
mmap.c
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c
oom_kill.c
page_alloc.c Revert "Bias the placement of kernel pages at lower PFNs" 2007-11-12 14:14:44 -08:00
page_io.c
page_isolation.c memory hotremove: unset migrate type "ISOLATE" after removal 2007-11-14 18:45:38 -08:00
page-writeback.c dirty page balancing: Get rid of broken unmapped_ratio logic 2007-11-15 16:41:52 -08:00
pdflush.c
prio_tree.c
quicklist.c
readahead.c
rmap.c [S390] Optimize storage key handling for anonymous pages 2007-11-20 11:13:46 +01:00
shmem_acl.c
shmem.c
slab.c slab: fix typo in allocation failure handling 2007-11-14 18:45:36 -08:00
slob.c slob: fix memory corruption 2007-11-15 08:36:27 -08:00
slub.c SLUB: killed the unused "end" variable 2007-11-12 10:32:29 -08:00
sparse-vmemmap.c
sparse.c
swap_state.c
swap.c
swapfile.c
thrash.c
tiny-shmem.c
truncate.c
util.c fix mm/util.c:krealloc() 2007-11-14 18:45:41 -08:00
vmalloc.c
vmscan.c
vmstat.c vmstat: fix section mismatch warning 2007-11-14 18:45:42 -08:00