Messages in this thread | | | Date | Mon, 16 Apr 2012 16:02:31 +0100 | From | Mel Gorman <> | Subject | Re: [RFC PATCH] s390: mm: rmap: Transfer storage key to struct page under the page lock |
| |
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
| |