Christian Borntraeger
5b7baf0578
s390: KVM preparation: host memory management changes for s390 kvm
...
This patch changes the s390 memory management defintions to use the pgste field
for dirty and reference bit tracking of host and guest code. Usually on s390,
dirty and referenced are tracked in storage keys, which belong to the physical
page. This changes with virtualization: The guest and host dirty/reference bits
are defined to be the logical OR of the values for the mapping and the physical
page. This patch implements the necessary changes in pgtable.h for s390.
There is a common code change in mm/rmap.c, the call to
page_test_and_clear_young must be moved. This is a no-op for all
architecture but s390. page_referenced checks the referenced bits for
the physiscal page and for all mappings:
o The physical page is checked with page_test_and_clear_young.
o The mappings are checked with ptep_test_and_clear_young and friends.
Without pgstes (the current implementation on Linux s390) the physical page
check is implemented but the mapping callbacks are no-ops because dirty
and referenced are not tracked in the s390 page tables. The pgstes introduces
guest and host dirty and reference bits for s390 in the host mapping. These
mapping must be checked before page_test_and_clear_young resets the reference
bit.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-04-27 12:00:40 +03:00
..
allocpercpu.c
cpumask: Cleanup more uses of CPU_MASK and NODE_MASK
2008-04-19 19:44:58 +02:00
backing-dev.c
mm/backing-dev.c: fix percpu_counter_destroy call bug in bdi_init
2007-12-05 09:21:18 -08:00
bootmem.c
mm: allow reserve_bootmem() cross nodes
2008-04-26 22:51:08 +02:00
bounce.c
block: Initial support for data-less (or empty) barrier support
2007-10-16 11:03:56 +02:00
dmapool.c
pool: Improve memory usage for devices which can't cross boundaries
2007-12-04 10:39:58 -05:00
fadvise.c
check ADVICE of fadvise64_64 even if get_xip_page is given
2008-02-05 09:44:19 -08:00
filemap.c
mm: fix various kernel-doc comments
2008-03-19 18:53:35 -07:00
filemap_xip.c
Use pgoff_t instead of unsigned long
2008-02-08 09:22:32 -08:00
fremap.c
mm: fix various kernel-doc comments
2008-03-19 18:53:35 -07:00
highmem.c
mm: highmem kernel-doc additions
2008-03-19 18:53:35 -07:00
hugetlb.c
hugetlb: fix potential livelock in return_unused_surplus_hugepages()
2008-03-26 15:01:33 -07:00
internal.h
Solve section mismatch for free_area_init_core.
2008-02-23 17:13:24 -08:00
Kconfig
sh: Bump number of quicklists for SH-5.
2008-01-28 13:18:55 +09:00
maccess.c
kgdb: fix optional arch functions and probe_kernel_*
2008-04-17 20:05:39 +02:00
madvise.c
speed up madvise_need_mmap_write() usage
2007-07-16 09:05:36 -07:00
Makefile
uaccess: add probe_kernel_write()
2008-04-17 20:05:36 +02:00
memcontrol.c
memcg: fix node_state handling
2008-04-08 18:25:53 -07:00
memory.c
memcg: when do_swap's do_wp_page fails
2008-03-04 16:35:14 -08:00
memory_hotplug.c
driver core: memory: semaphore to mutex
2008-04-19 19:10:19 -07:00
mempolicy.c
mempolicy: fix reference counting bugs
2008-03-10 18:01:19 -07:00
mempool.c
spelling fixes: mm/
2007-10-20 01:27:18 +02:00
migrate.c
memcg: fix VM_BUG_ON from page migration
2008-03-04 16:35:14 -08:00
mincore.c
[PATCH] mincore: vma crossing fix
2007-02-15 09:57:03 -08:00
mlock.c
do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY
2007-07-16 09:05:37 -07:00
mmap.c
mm: special mapping nopage
2008-02-08 18:57:39 -08:00
mmzone.c
[PATCH] remove EXPORT_UNUSED_SYMBOL'ed symbols
2006-12-07 08:39:44 -08:00
mprotect.c
fix mprotect vma_wants_writenotify prot
2007-10-23 08:32:06 -07:00
mremap.c
sparse pointer use of zero as null
2007-10-18 14:37:31 -07:00
msync.c
Detach sched.h from mm.h
2007-05-21 09:18:19 -07:00
nommu.c
nommu: add new vmalloc_user() and remap_vmalloc_range() interfaces.
2008-02-05 09:44:21 -08:00
oom_kill.c
memcg: fix oops in oom handling
2008-04-15 19:35:40 -07:00
page-writeback.c
writeback: speed up writeback of big dirty files
2008-02-05 09:44:19 -08:00
page_alloc.c
nodemask: use new node_to_cpumask_ptr function
2008-04-19 19:44:59 +02:00
page_io.c
mm: fix PageUptodate data race
2008-02-05 09:44:19 -08:00
page_isolation.c
memory hotremove: unset migrate type "ISOLATE" after removal
2007-11-14 18:45:38 -08:00
pagewalk.c
mm: fix various kernel-doc comments
2008-03-19 18:53:35 -07:00
pdflush.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial
2008-04-21 16:36:46 -07:00
prio_tree.c
spelling fixes: mm/
2007-10-20 01:27:18 +02:00
quicklist.c
quicklists: Only consider memory that can be used with GFP_KERNEL
2008-01-14 08:52:22 -08:00
readahead.c
mm/readahead: fix kernel-doc notation
2008-03-19 18:53:37 -07:00
rmap.c
s390: KVM preparation: host memory management changes for s390 kvm
2008-04-27 12:00:40 +03:00
shmem.c
mm/shmem and tiny-shmem: fix some kernel-doc
2008-03-19 18:53:35 -07:00
shmem_acl.c
[PATCH] Fix typos in mm/shmem_acl.c
2006-10-11 11:14:23 -07:00
slab.c
nodemask: use new node_to_cpumask_ptr function
2008-04-19 19:44:59 +02:00
slob.c
slob: reduce external fragmentation by using three free lists
2008-02-05 09:44:19 -08:00
slub.c
slab_err: Pass parameters correctly to slab_bug
2008-04-23 12:47:48 -07:00
sparse-vmemmap.c
NULL noise: fs/*, mm/*, kernel/*
2008-03-30 14:18:41 -07:00
sparse.c
x86_64/mm: check and print vmemmap allocation continuous
2008-04-26 22:51:09 +02:00
swap.c
mm: fix various kernel-doc comments
2008-03-19 18:53:35 -07:00
swap_state.c
mm: fix various kernel-doc comments
2008-03-19 18:53:35 -07:00
swapfile.c
d_path: Make seq_path() use a struct path argument
2008-02-14 21:17:08 -08:00
thrash.c
Bug in mm/thrash.c function grab_swap_token()
2007-05-11 08:29:32 -07:00
tiny-shmem.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2008-03-25 08:57:47 -07:00
truncate.c
docbook: fix kernel-api source files
2008-03-03 10:47:14 -08:00
util.c
fix mm/util.c:krealloc()
2007-11-14 18:45:41 -08:00
vmalloc.c
mm: fix various kernel-doc comments
2008-03-19 18:53:35 -07:00
vmscan.c
nodemask: use new node_to_cpumask_ptr function
2008-04-19 19:44:59 +02:00
vmstat.c
add "Isolate" migratetype name to /proc/pagetypeinfo
2008-04-15 19:35:41 -07:00