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
..
2007-10-17 08:42:45 -07:00
2007-10-16 09:42:54 -07:00
2007-07-17 10:22:59 -07:00
2007-11-14 18:45:40 -08:00
2007-10-20 02:46:58 +02:00
2007-10-16 09:43:02 -07:00
2007-10-20 01:27:18 +02:00
2007-10-20 02:13:26 +02:00
2007-02-15 09:57:03 -08:00
2007-10-23 08:32:06 -07:00
2007-10-18 14:37:31 -07:00
2007-05-21 09:18:19 -07:00
2007-10-29 07:53:26 -07:00
2007-10-20 15:04:06 -07:00
2007-10-20 01:27:18 +02:00
2007-05-07 12:12:54 -07:00
2007-10-17 08:42:45 -07:00
2007-11-15 08:36:27 -08:00
2007-11-12 10:32:29 -08:00
2007-10-20 01:27:18 +02:00
2007-10-17 08:42:55 -07:00
2007-11-14 18:45:41 -08:00
2007-10-20 01:27:18 +02:00
2007-10-20 01:27:18 +02:00
2007-11-14 18:45:42 -08:00