Re: [PATCH 0/8] THP support for Sparc64

From: Andrea Arcangeli
Date: Thu Oct 04 2012 - 06:35:52 EST


Hi Dave,

On Wed, Oct 03, 2012 at 10:00:27PM -0400, David Miller wrote:
> From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Date: Tue, 2 Oct 2012 15:55:44 -0700
>
> > I had a shot at integrating all this onto the pending stuff in linux-next.
> > "mm: Add and use update_mmu_cache_pmd() in transparent huge page code."
> > needed minor massaging in huge_memory.c. But as Andrea mentioned, we
> > ran aground on Gerald's
> > http://ozlabs.org/~akpm/mmotm/broken-out/thp-remove-assumptions-on-pgtable_t-type.patch,
> > part of the thp-for-s390 work.
>
> While working on a rebase relative to this work, I noticed that the
> s390 patches don't even compile.
>
> It's because of that pmd_pgprot() change from Peter Z. which arrives
> asynchonously via the linux-next tree. It makes THP start using
> pmd_pgprot() (a new interface) which the s390 patches don't provide.

My suggestion would be to ignore linux-next and port it to -mm only
and re-send to Andrew. schednuma is by mistake in linux-next, and
it's not going to get merged as far as I can tell.

Even if schednuma would get merged by mistake, pmd_pgprot is a micro
optimization and it's by no means necessary. I don't think it's clean
to add arch dependencies like that just for a micro optimization mixed
up with schednuma code. The implementation of the AutoNUMA NUMA
hinting page faults that was introduced recently in schednuma is also
very bad, all checks on the vmas vm_page_prot are totally unnecessary
because _PAGE_PROTNONE and _PAGE_NUMA are mutually exclusive code
paths, _PAGE_PROTNONE would segfault before ever entering
handle_mm_fault and so checking if it's _PAGE_PROTNONE in
handle_mm_fault is unnecessary. Calling pte_numa do_prot_none also
sounds very confusing to me.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/