Re: [PATCH 1/1] mm/hugetlb: add more arch-defined huge_pte_xxxfunctions

From: Gerald Schaefer
Date: Thu Mar 14 2013 - 10:11:28 EST


On Thu, 14 Mar 2013 14:14:04 +0100
Michal Hocko <mhocko@xxxxxxx> wrote:

> On Tue 12-03-13 19:48:26, Gerald Schaefer wrote:
> > Commit abf09bed3c "s390/mm: implement software dirty bits" introduced
> > another difference in the pte layout vs. the pmd layout on s390,
> > thoroughly breaking the s390 support for hugetlbfs. This requires
> > replacing some more pte_xxx functions in mm/hugetlbfs.c with a
> > huge_pte_xxx version.
> >
> > This patch introduces those huge_pte_xxx functions and their
> > implementation on all architectures supporting hugetlbfs. This change
> > will be a no-op for all architectures other than s390.
> >
> > Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx>
> > ---
> > arch/ia64/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > arch/mips/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > arch/powerpc/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > arch/s390/include/asm/hugetlb.h | 56 +++++++++++++++++++++++++++++++++++++-
> > arch/s390/include/asm/pgtable.h | 20 --------------
> > arch/s390/mm/hugetlbpage.c | 2 +-
> > arch/sh/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > arch/sparc/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > arch/tile/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > arch/x86/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
> > mm/hugetlb.c | 23 ++++++++--------
> > 11 files changed, 320 insertions(+), 33 deletions(-)
>
> Ouch, this adds a lot of code that is almost same for all archs except
> for some. Can we just make one common definition and define only those
> that differ, please?
> [...]

Ok, seems like I misinterpreted the ugliness of HAVE_ARCH_xxx vs. code
duplication. Paul Mundt also suggested going for an asm-generic/hugetlb.h
approach. I'll send a new patch soon.

Thanks,
Gerald

--
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/