[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140203171412.GA3034@sgi.com>
Date: Mon, 3 Feb 2014 11:14:12 -0600
From: Alex Thorlton <athorlton@....com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Oleg Nesterov <oleg@...hat.com>,
Gerald Schaefer <gerald.schaefer@...ibm.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Heiko Carstens <heiko.carstens@...ibm.com>,
Christian Borntraeger <borntraeger@...ibm.com>,
Paolo Bonzini <pbonzini@...hat.com>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Mel Gorman <mgorman@...e.de>, Rik van Riel <riel@...hat.com>,
Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Sasha Levin <sasha.levin@...cle.com>, linux390@...ibm.com,
linux-s390@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 1/3] Revert "thp: make MADV_HUGEPAGE check for
mm->def_flags"
On Fri, Jan 31, 2014 at 02:52:24PM -0800, Andrew Morton wrote:
> On Fri, 31 Jan 2014 12:23:43 -0600 Alex Thorlton <athorlton@....com> wrote:
>
> > This reverts commit 8e72033f2a489b6c98c4e3c7cc281b1afd6cb85cm, and adds
>
> 'm' is not a hex digit ;)
My mistake! Sorry about that.
> > in code to fix up any issues caused by the revert.
> >
> > The revert is necessary because hugepage_madvise would return -EINVAL
> > when VM_NOHUGEPAGE is set, which will break subsequent chunks of this
> > patch set.
>
> This is a bit skimpy. Why doesn't the patch re-break kvm-on-s390?
>
> it would be nice to have a lot more detail here, please. What was the
> intent of 8e72033f2a48, how this patch retains 8e72033f2a48's behavior,
> etc.
I'm actually not too sure about this, off hand. I just know that we
couldn't have it in there because of the check for VM_NOHUGEPAGE. The
s390 guys approved the revert, as long as we added in the following
piece:
> > --- a/arch/s390/mm/pgtable.c
> > +++ b/arch/s390/mm/pgtable.c
> > @@ -504,6 +504,9 @@ static int gmap_connect_pgtable(unsigned long address, unsigned long segment,
> > if (!pmd_present(*pmd) &&
> > __pte_alloc(mm, vma, pmd, vmaddr))
> > return -ENOMEM;
> > + /* large pmds cannot yet be handled */
> > + if (pmd_large(*pmd))
> > + return -EFAULT;
>
> This bit wasn't in 8e72033f2a48.
I added the fix-up code in with the revert, so that it would all be in
one place; wasn't sure what the standard was for this sort of thing. If
it's preferable to see this code in a separate patch, that's easy enough
to do.
I'll look into exactly what the original commit was intended to do, and
get a better description of what's going on here. Let me know if I
should split the two changes into separate patches.
- Alex
--
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