1. 09 May, 2017 3 commits
    • Nicholas Piggin's avatar
      powerpc/64s: Fix unnecessary machine check handler relocation branch · 6102c005
      Nicholas Piggin authored
      Similarly to commit 2563a70c ("powerpc/64s: Remove unnecessary relocation
      branch from idle handler"), the machine check handler has a BRANCH_TO from
      relocated to relocated code, which is unnecessary.
      
      It has also caused build errors with some toolchains:
      
        arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
        arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range
        (0xffffffffffff8280 is not between 0x0000000000000000 and
        0x000000000000ffff)
      
      Fixes: 1945bc45 ("powerpc/64s: Fix POWER9 machine check handler from stop state")
      Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
      Reported-and-tested-by : Abdul Haleem <abdhalee@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      6102c005
    • Michael Ellerman's avatar
      powerpc/mm/book3s/64: Rework page table geometry for lower memory usage · ba95b5d0
      Michael Ellerman authored
      Recently in commit f6eedbba ("powerpc/mm/hash: Increase VA range to 128TB")
      we increased the virtual address space for user processes to 128TB by default,
      and up to 512TB if user space opts in.
      
      This obviously required expanding the range of the Linux page tables. For Book3s
      64-bit using hash and with PAGE_SIZE=64K, we increased the PGD to 2^15 entries.
      This meant we could cover the full address range, while still being able to
      insert a 16G hugepage at the PGD level and a 16M hugepage in the PMD.
      
      The downside of that geometry is that it uses a lot of memory for the PGD, and
      in particular makes the PGD a 4-page allocation, which means it's much more
      likely to fail under memory pressure.
      
      Instead we can make the PMD larger, so that a single PUD entry maps 16G,
      allowing the 16G hugepages to sit at that level in the tree. We're then able to
      split the remaining bits between the PUG and PGD. We make the PGD slightly
      larger as that results in lower memory usage for typical programs.
      
      When THP is enabled the PMD actually doubles in size, to 2^11 entries, or 2^14
      bytes, which is large but still < PAGE_SIZE.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Reviewed-by: default avatarBalbir Singh <bsingharora@gmail.com>
      Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      ba95b5d0
    • Horia Geantă's avatar
      powerpc: Fix distclean with Makefile.postlink · 24e0bfbf
      Horia Geantă authored
      Makefile.postlink always includes include/config/auto.conf, however
      this file is not present in a clean kernel tree, causing make to fail:
      
        $ git clone linuxppc.git
        $ cd linuxppc.git
        $ make distclean
        arch/powerpc/Makefile.postlink:10: include/config/auto.conf: No such file or directory
        make[1]: *** No rule to make target `include/config/auto.conf'.  Stop.
        make: *** [vmlinuxclean] Error 2
      
      Equally running 'make distclean; make distclean' will trip the error case.
      
      Change the inclusion such that file not being found does not trigger an error.
      
      Fixes: f188d052 ("powerpc: Use the new post-link pass to check relocations")
      Reported-by: default avatarMircea Pop <mircea.pop@nxp.com>
      Signed-off-by: default avatarHoria Geantă <horia.geanta@nxp.com>
      Tested-by: default avatarJustin M. Forbes <jforbes@fedoraproject.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      24e0bfbf
  2. 04 May, 2017 1 commit
  3. 03 May, 2017 8 commits
  4. 02 May, 2017 5 commits
  5. 01 May, 2017 2 commits
  6. 28 Apr, 2017 19 commits
  7. 27 Apr, 2017 2 commits