[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130801062814.GB1764@moon>
Date: Thu, 1 Aug 2013 10:28:14 +0400
From: Cyrill Gorcunov <gorcunov@...il.com>
To: Minchan Kim <minchan@...nel.org>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
luto@...capital.net, xemul@...allels.com,
akpm@...ux-foundation.org, mpm@...enic.com,
xiaoguangrong@...ux.vnet.ibm.com, mtosatti@...hat.com,
kosaki.motohiro@...il.com, sfr@...b.auug.org.au,
peterz@...radead.org, aneesh.kumar@...ux.vnet.ibm.com
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists