Messages in this thread | | | Date | Thu, 1 Aug 2013 10:28:14 +0400 | From | Cyrill Gorcunov <> | Subject | Re: [patch 1/2] [PATCH] mm: Save soft-dirty bits on swapped pages |
| |
On Thu, Aug 01, 2013 at 03:16:32PM +0900, Minchan Kim wrote: > > I don't get it. Could you correct me with below example? > > Process A context > try_to_unmap > swp_pte = swp_entry_to_pte /* change generic swp into arch swap */ > swp_pte = pte_swp_mksoft_dirty(swp_pte); > set_pte_at(, swp_pte); > > Process A context > .. > mincore_pte_range pte_t pte = *ptep; <-- local copy of the pte value, in memory it remains the same with swap softdirty bit set > pte_to_swp_entry > pte = pte_swp_clear_soft_dirty <=== 1) > change arch swp with generic swp > mincore_page > > Process B want to know dirty state of the page > .. > pagemap_read > pte_to_pagemap_entry > is_swap_pte > if (pte_swap_soft_dirty(pte)) <=== but failed by 1) > > So, Process B can't get the dirty status from process A's the page.
| |