Messages in this thread | | | Date | Mon, 3 Feb 2014 11:14:12 -0600 | From | Alex Thorlton <> | 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@sgi.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
| |