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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to