1. 12 12月, 2016 5 次提交
  2. 07 12月, 2016 7 次提交
  3. 02 12月, 2016 2 次提交
    • H
      s390/setup: fix memblock usage · db7ad636
      Heiko Carstens 提交于
      When converting from bootmem to memblock I missed a subtle difference:
      the memblock_alloc() functions return uninitialized memory, while the
      memblock_virt_alloc() functions return zeroed memory.
      
      This led to quite random early boot crashes.
      
      Therefore use the correct version everywhere now.
      Hopefully.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      db7ad636
    • H
      s390/kexec: use node 0 when re-adding crash kernel memory · 9f88eb4d
      Heiko Carstens 提交于
      When re-adding crash kernel memory within setup_resources() the
      function memblock_add() is used. That function will add memory by
      default to node "MAX_NUMNODES" instead of node 0, like the memory
      detection code does. In case of !NUMA this will trigger this warning
      when the kernel generates the vmemmap:
      
      Usage of MAX_NUMNODES is deprecated. Use NUMA_NO_NODE instead
      WARNING: CPU: 0 PID: 0 at mm/memblock.c:1261 memblock_virt_alloc_internal+0x76/0x220
      CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-rc6 #16
      Call Trace:
       [<0000000000d0b2e8>] memblock_virt_alloc_try_nid+0x88/0xc8
       [<000000000083c8ea>] __earlyonly_bootmem_alloc.constprop.1+0x42/0x50
       [<000000000083e7f4>] vmemmap_populate+0x1ac/0x1e0
       [<0000000000840136>] sparse_mem_map_populate+0x46/0x68
       [<0000000000d0c59c>] sparse_init+0x184/0x238
       [<0000000000cf45f6>] paging_init+0xbe/0xf8
       [<0000000000cf1d4a>] setup_arch+0xa02/0xae0
       [<0000000000ced75a>] start_kernel+0x72/0x450
       [<0000000000100020>] _stext+0x20/0x80
      
      If NUMA is selected numa_setup_memory() will fix the node assignments
      before the vmemmap will be populated; so this warning will only appear
      if NUMA is not selected.
      
      To fix this simply use memblock_add_node() and re-add crash kernel
      memory explicitly to node 0.
      Reported-and-tested-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Fixes: 4e042af4 ("s390/kexec: fix crash on resize of reserved memory")
      Cc: <stable@vger.kernel.org> # v4.8+
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      9f88eb4d
  4. 29 11月, 2016 1 次提交
  5. 25 11月, 2016 1 次提交
  6. 23 11月, 2016 3 次提交
  7. 22 11月, 2016 1 次提交
  8. 17 11月, 2016 1 次提交
  9. 16 11月, 2016 1 次提交
    • C
      locking/core: Introduce cpu_relax_yield() · 79ab11cd
      Christian Borntraeger 提交于
      For spinning loops people do often use barrier() or cpu_relax().
      For most architectures cpu_relax and barrier are the same, but on
      some architectures cpu_relax can add some latency.
      For example on power,sparc64 and arc, cpu_relax can shift the CPU
      towards other hardware threads in an SMT environment.
      On s390 cpu_relax does even more, it uses an hypercall to the
      hypervisor to give up the timeslice.
      In contrast to the SMT yielding this can result in larger latencies.
      In some places this latency is unwanted, so another variant
      "cpu_relax_lowlatency" was introduced. Before this is used in more
      and more places, lets revert the logic and provide a cpu_relax_yield
      that can be called in places where yielding is more important than
      latency. By default this is the same as cpu_relax on all architectures.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: virtualization@lists.linux-foundation.org
      Cc: xen-devel@lists.xenproject.org
      Link: http://lkml.kernel.org/r/1477386195-32736-2-git-send-email-borntraeger@de.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      79ab11cd
  10. 15 11月, 2016 2 次提交
  11. 12 11月, 2016 1 次提交
  12. 11 11月, 2016 4 次提交
  13. 10 11月, 2016 2 次提交
  14. 01 11月, 2016 1 次提交
  15. 28 10月, 2016 3 次提交
  16. 24 10月, 2016 1 次提交
  17. 17 10月, 2016 4 次提交
    • H
      s390/dumpstack: get rid of return_address again · dcddba96
      Heiko Carstens 提交于
      With commit ef6000b4 ("Disable the __builtin_return_address()
      warning globally after all)" the kernel does not warn at all again if
      __builtin_return_address(n) is called with n > 0.
      
      Besides the fact that this was a false warning on s390 anyway, due to
      the always present backchain, we can now revert commit 56063306
      ("s390/dumpstack: implement and use return_address()") again, to
      simplify the code again.
      
      After all I shouldn't have had return_address() implememted at all to
      workaround this issue. So get rid of this again.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      dcddba96
    • H
      s390/disassambler: use pr_cont where appropriate · 4d062487
      Heiko Carstens 提交于
      Just like for dumpstack use pr_cont instead of simple printk calls to
      fix the output when disassembling a piece of code.
      
      Before:
      [    0.840627] Krnl Code: 000000000017d1c6: a77400f7            brc     7,17d3b4
      [    0.840630]
                                000000000017d1ca: 92015000            mvi     0(%r5),1
      [    0.840634]
                               #000000000017d1ce: a7f40001            brc     15,17d1d0
      
      After:
      [    0.831792] Krnl Code: 000000000017d13e: a77400f7            brc     7,17d32c
                                000000000017d142: 92015000            mvi     0(%r5),1
                               #000000000017d146: a7f40001            brc     15,17d148
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      4d062487
    • H
      s390/dumpstack: use pr_cont where appropriate · a7906345
      Heiko Carstens 提交于
      Use pr_cont instead of simple printk calls when lines will be
      continued. This fixes the kernel output of various lines printed on
      e.g. a warning:
      
      Before:
      [    0.840604] Krnl PSW : 0404c00180000000 000000000017d1d2
      [    0.840606]  (try_to_wake_up+0x382/0x5e0)
      
      [    0.840610]            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0
      [    0.840611]  RI:0 EA:3
      
      After:
      [    0.831772] Krnl PSW : 0404c00180000000 000000000017d14a (try_to_wake_up+0x382/0x5e0)
      [    0.831776]            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 RI:0 EA:3
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      a7906345
    • H
      s390/dumpstack: restore reliable indicator for call traces · d0208639
      Heiko Carstens 提交于
      Before merging all different stack tracers the call traces printed had
      an indicator if an entry can be considered reliable or not.
      Unreliable entries were put in braces, reliable not. Currently all
      lines contain these extra braces.
      
      This patch restores the old behaviour by adding an extra "reliable"
      parameter to the callback functions. Only show_trace makes currently
      use of it.
      
      Before:
      [    0.804751] Call Trace:
      [    0.804753] ([<000000000017d0e0>] try_to_wake_up+0x318/0x5e0)
      [    0.804756] ([<0000000000161d64>] create_worker+0x174/0x1c0)
      
      After:
      [    0.804751] Call Trace:
      [    0.804753] ([<000000000017d0e0>] try_to_wake_up+0x318/0x5e0)
      [    0.804756]  [<0000000000161d64>] create_worker+0x174/0x1c0
      
      Fixes: 758d39eb ("s390/dumpstack: merge all four stack tracers")
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      d0208639