diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-07-23 16:11:42 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-08-29 07:20:11 -0400 |
commit | 0944fe3f4a323f436180d39402cae7f9c46ead17 (patch) | |
tree | 7b2ada69ff7e3c1fae20ec0b1dffe5e0d0ec2cc6 /mm | |
parent | fbd70035fb2b03deb346052084794bc1d0e25aa2 (diff) |
s390/mm: implement software referenced bits
The last remaining use for the storage key of the s390 architecture
is reference counting. The alternative is to make page table entries
invalid while they are old. On access the fault handler marks the
pte/pmd as young which makes the pte/pmd valid if the access rights
allow read access. The pte/pmd invalidations required for software
managed reference bits cost a bit of performance, on the other hand
the RRBE/RRBM instructions to read and reset the referenced bits are
quite expensive as well.
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/rmap.c | 3 |
1 files changed, 0 insertions, 3 deletions
@@ -873,9 +873,6 @@ int page_referenced(struct page *page, | |||
873 | vm_flags); | 873 | vm_flags); |
874 | if (we_locked) | 874 | if (we_locked) |
875 | unlock_page(page); | 875 | unlock_page(page); |
876 | |||
877 | if (page_test_and_clear_young(page_to_pfn(page))) | ||
878 | referenced++; | ||
879 | } | 876 | } |
880 | out: | 877 | out: |
881 | return referenced; | 878 | return referenced; |