1. 09 May, 2017 4 commits
    • Michael Ellerman's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next · 0b382fb3
      Michael Ellerman authored
      Freescale updates from Scott:
      
      "Includes a fix for a powerpc/next mm regression on 64e, a fix for a
      kernel hang on 64e when using a debugger inside a relocated kernel, a
      qman fix, and misc qe improvements."
      0b382fb3
    • 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. 05 May, 2017 1 commit
    • Scott Wood's avatar
      powerpc/64e: Don't place the stack beyond TASK_SIZE · 61baf155
      Scott Wood authored
      Commit f4ea6dcb ("powerpc/mm: Enable mappings above 128TB") increased
      the task size on book3s, and introduced a mechanism to dynamically
      control whether a task uses these larger addresses.  While the change to
      the task size itself was ifdef-protected to only apply on book3s, the
      change to STACK_TOP_USER64 was not.  On book3e, this had the effect of
      trying to use addresses up to 128TiB for the stack despite a 64TiB task
      size limit -- which broke 64-bit userspace producing the following errors:
      
      Starting init: /sbin/init exists but couldn't execute it (error -14)
      Starting init: /bin/sh exists but couldn't execute it (error -14)
      Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
      
      Fixes: f4ea6dcb ("powerpc/mm: Enable mappings above 128TB")
      Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarScott Wood <oss@buserror.net>
      61baf155
  3. 04 May, 2017 1 commit
  4. 03 May, 2017 9 commits
  5. 02 May, 2017 5 commits
  6. 01 May, 2017 2 commits
  7. 30 Apr, 2017 7 commits
  8. 28 Apr, 2017 11 commits