Re: [PATCH 0/1] mm/hugetlb: add more arch-defined huge_pte_xxx functions
On Wed, 13 Mar 2013 04:00:12 +0900 Paul Mundt wrote: > On Tue, Mar 12, 2013 at 07:48:25PM +0100, Gerald Schaefer wrote: > > 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. > > > .. > > > 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(-) > > > None of these wrappers are doing anything profound for most platforms, so > this would be a good candidate for an asm-generic/hugetlb.h (after which > s390 can continue to be special and no one else has to care). Yes, that was also my first idea, but I vaguely remembered some discussion with Andrew when I sent the original s390 hugetlb support patch (which also went for the asm-generic approach). So I tried to dig out that thread, and it turned out that the ugliness of ARCH_HAS_xxx actually resulted in my original patch to be changed into removing lots of those and therefore creating the individual arch header files, for the sake of readability and maintainability. So I guess it would be straightforward to extend those header files now, instead of re-introducing some of the ugliness. See also here http://marc.info/?l=linux-kernel&m=120536577402075&w=2 and here http://marc.info/?l=linux-kernel&m=120732788201196&w=2. Thanks, Gerald -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 0/1] mm/hugetlb: add more arch-defined huge_pte_xxx functions
On Tue, Mar 12, 2013 at 07:48:25PM +0100, Gerald Schaefer wrote: > 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. > .. > 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(-) > None of these wrappers are doing anything profound for most platforms, so this would be a good candidate for an asm-generic/hugetlb.h (after which s390 can continue to be special and no one else has to care). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 0/1] mm/hugetlb: add more arch-defined huge_pte_xxx functions
Using pte_t and pte_xxx functions in mm/hugetlbfs.c for "huge ptes" has always been confusing and error-prone on architectures that have a different layout for the pte/pmd/... level entries. That was the reason for the individual arch header files in /include/asm/hugetlb.h containing implementations for various huge_pte_xxx versions of the original pte_xxx functions, if needed. 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. I am also thinking about a more complete clean-up patch, replacing all remaining pte_xxx invocations in mm/hugetlbfs.c and maybe also introducing a separate type like hpte_t to make this issue more transparent and prevent future problems. But that may also require some functional changes, and it probably won't be ready in time for Kernel 3.9. So for now, this patch only fixes the impact of the software dirty bit changes on s390, hoping that it can be included in Kernel 3.9, since that will be the first release including the sw dirty bits. Gerald Schaefer (1): mm/hugetlb: add more arch-defined huge_pte_xxx functions 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(-) -- 1.7.12.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/