aboutsummaryrefslogtreecommitdiff
path: root/net/unix
diff options
context:
space:
mode:
authorCyrill Gorcunov <[email protected]>2013-08-13 16:00:49 -0700
committerLinus Torvalds <[email protected]>2013-08-13 17:57:47 -0700
commit179ef71cbc085252e3fe6b8159263a7ed1d88ea4 (patch)
tree423b58912b0bf0dc9697fff3d2205b8ca653968e /net/unix
parent3e6b11df245180949938734bc192eaf32f3a06b3 (diff)
mm: save soft-dirty bits on swapped pages
Andy Lutomirski reported that if a page with _PAGE_SOFT_DIRTY bit set get swapped out, the bit is getting lost and no longer available when pte read back. To resolve this we introduce _PTE_SWP_SOFT_DIRTY bit which is saved in pte entry for the page being swapped out. When such page is to be read back from a swap cache we check for bit presence and if it's there we clear it and restore the former _PAGE_SOFT_DIRTY bit back. One of the problem was to find a place in pte entry where we can save the _PTE_SWP_SOFT_DIRTY bit while page is in swap. The _PAGE_PSE was chosen for that, it doesn't intersect with swap entry format stored in pte. Reported-by: Andy Lutomirski <[email protected]> Signed-off-by: Cyrill Gorcunov <[email protected]> Acked-by: Pavel Emelyanov <[email protected]> Cc: Matt Mackall <[email protected]> Cc: Xiao Guangrong <[email protected]> Cc: Marcelo Tosatti <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Cc: Stephen Rothwell <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: "Aneesh Kumar K.V" <[email protected]> Reviewed-by: Minchan Kim <[email protected]> Reviewed-by: Wanpeng Li <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'net/unix')
0 files changed, 0 insertions, 0 deletions