Re: [RFC PATCH] s390: mm: rmap: Transfer storage key to struct page under the page lock

Mel Gorman
2012-04-16T15:02:31Z

On Mon, Apr 16, 2012 at 10:53:07AM -0400, Rik van Riel wrote:
> On 04/16/2012 10:14 AM, Mel Gorman wrote:
> >This patch is horribly ugly and there has to be a better way of doing
> >it. I'm looking for suggestions on what s390 can do here that is not
> >painful or broken.
>
> I'm hoping the S390 arch maintainers have an idea.
>
> Ugly or not, we'll need something to fix the bug.
>

Indeed.

> >+ * When the late PTE has gone, s390 must transfer the dirty flag from the
> >+ * storage key to struct page. We can usually skip this if the page is anon,
> >+ * so about to be freed; but perhaps not if it's in swapcache - there might
> >+ * be another pte slot containing the swap entry, but page not yet written to
> >+ * swap.
> > *
> >- * The caller needs to hold the pte lock.
> >+ * set_page_dirty() is called while the page_mapcount is still postive and
> >+ * under the page lock to avoid races with the mapping being invalidated.
> > */
> >-void page_remove_rmap(struct page *page)
> >+static void propogate_storage_key(struct page *page, bool lock_required)
>
> Do you mean "propAgate" ?
>

Yes.

--
Mel Gorman
SUSE Labs