Messages in this thread | | | Date | Tue, 17 Apr 2012 21:00:23 -0700 (PDT) | From | Hugh Dickins <> | Subject | Re: [RFC PATCH] s390: mm: rmap: Transfer storage key to struct page under the page lock |
| |
On Tue, 17 Apr 2012, Martin Schwidefsky wrote: > On Tue, 17 Apr 2012 13:29:25 +0100 > Mel Gorman <mgorman@suse.de> wrote: > > > > In the zap_pte_range() case at least, pte_dirty() is only being checked > > for !PageAnon pages so if we took this approach we would miss > > PageSwapCache pages. If we added the check then the same problem is hit > > and we'd need additional logic there for s390 to drop the PTL, take the > > page lock and retry the operation. It'd still be ugly :( > > Well if x86 can get away with ignoring PageSwapCache pages in zap_pte_range() > pages then s390 should be able to get away with it as well, no ?
When it's zap_pte_range() calling page_remove_rmap(), yes; but that's not the only caller of page_remove_rmap(), and I believe there's at least one caller which absolutely needs it to do that s390 set_page_dirty() on swap.
But I don't see any need to be discussing ugly patches for this any more: there's a very simple patch which improves the swap path anyway, and if deemed advisable, we can also rearrange __add_to_swap_cache() a little.
Hugh
| |