Messages in this thread | | | Date | Fri, 20 Dec 2013 15:19:17 +0100 | From | Martin Schwidefsky <> | Subject | Re: [PATCH 0/1] mm: fix the theoretical compound_lock() vs prep_new_page() race |
| |
On Thu, 19 Dec 2013 20:08:46 +0100 Oleg Nesterov <oleg@redhat.com> wrote:
> On 12/16, Andrea Arcangeli wrote: > > > > Can you reorder set_page_refcount in your v2? > > Please see the patch. > > > I wonder if arch_alloc_page needs refcount 1, it sets the page as > > stable on s390. > > Obviously I have no idea what set_page_stable() does, but it works > with page_to_phys(), unlikely the content of "struct page" can matter. > And only s390 HAVE_ARCH_ALLOC_PAGE, I added Martin and Heiko.
On s390 the arch_alloc_page primitive is used to tell the hipervisor that a page is going to be used. While the page is free it is marked as "unused" which allows the hipervisor to throw away the page content if the page is selected to be swapped. We do have a patch to add the host support for KVM somewhere in our queue.
The content of the "struct page" does not matter at all for the set-stable/set-unused state transition, s390 does not care about the refcount in its arch_alloc_page function.
-- blue skies, Martin.
"Reality continues to ruin my life." - Calvin.
| |