1. 10 7月, 2012 6 次提交
  2. 03 7月, 2012 28 次提交
  3. 02 7月, 2012 2 次提交
    • M
      powerpc/kvm: sldi should be sld · 2f584a14
      Michael Neuling 提交于
      Since we are taking a registers, this should never have been an sldi.
      Talking to paulus offline, this is the correct fix.
      
      Was introduced by:
       commit 19ccb76a
       Author: Paul Mackerras <paulus@samba.org>
       Date:   Sat Jul 23 17:42:46 2011 +1000
      
      Talking to paulus, this shouldn't be a literal.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      CC: <stable@kernel.org> [v3.2+]
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2f584a14
    • A
      powerpc/xmon: Use cpumask iterator to avoid warning · bc1d7702
      Anton Blanchard 提交于
      We have a bug report where the kernel hits a warning in the cpumask
      code:
      
      WARNING: at include/linux/cpumask.h:107
      
      Which is:
              WARN_ON_ONCE(cpu >= nr_cpumask_bits);
      
      The backtrace is:
              cpu_cmd
              cmds
              xmon_core
              xmon
              die
      
      xmon is iterating through 0 to NR_CPUS. I'm not sure why we are still
      open coding this but iterating above nr_cpu_ids is definitely a bug.
      
      This patch iterates through all possible cpus, in case we issue a
      system reset and CPUs in an offline state call in.
      
      Perhaps the old code was trying to handle CPUs that were in the
      partition but were never started (eg kexec into a kernel with an
      nr_cpus= boot option). They are going to die way before we get into
      xmon since we haven't set any kernel state up for them.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      CC: <stable@kernel.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      bc1d7702
  4. 29 6月, 2012 4 次提交
    • M
      powerpc/pseries: Fix software invalidate TCE · bc6dc752
      Michael Neuling 提交于
      The following added support for powernv but broke pseries/BML:
       1f1616e8 powerpc/powernv: Add TCE SW invalidation support
      
      TCE_PCI_SW_INVAL was split into FREE and CREATE flags but the tests in
      the pseries code were not updated to reflect this.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      cc: stable@kernel.org [v3.3+]
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      bc6dc752
    • A
      powerpc: check_and_cede_processor() never cedes · 0b17ba72
      Anton Blanchard 提交于
      Commit f948501b ("Make hard_irq_disable() actually hard-disable
      interrupts") caused check_and_cede_processor to stop working.
      ->irq_happened will never be zero right after a hard_irq_disable
      so the compiler removes the call to cede_processor completely.
      
      The bug was introduced back in the lazy interrupt handling rework
      of 3.4 but was hidden until recently because hard_irq_disable did
      nothing.
      
      This issue will eventually appear in 3.4 stable since the
      hard_irq_disable fix is marked stable, so mark this one for stable
      too.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0b17ba72
    • S
      powerpc/ftrace: Do not trace restore_interrupts() · 2d773aa4
      Steven Rostedt 提交于
      As I was adding code that affects all archs, I started testing function
      tracer against PPC64 and found that it currently locks up with 3.4
      kernel. I figured it was due to tracing a function that shouldn't be, so
      I went through the following process to bisect to find the culprit:
      
       cat /debug/tracing/available_filter_functions > t
       num=`wc -l t`
       sed -ne "1,${num}p" t > t1
       let num=num+1
       sed -ne "${num},$p" t > t2
       cat t1 > /debug/tracing/set_ftrace_filter
       echo function /debug/tracing/current_tracer
       <failed? bisect t1, if not bisect t2>
      
      It finally came down to this function: restore_interrupts()
      
      I'm not sure why this locks up the system. It just seems to prevent
      scheduling from occurring. Interrupts seem to still work, as I can ping
      the box. But all user processes freeze.
      
      When restore_interrupts() is not traced, function tracing works fine.
      
      Cc: stable@kernel.org
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2d773aa4
    • L
      powerpc: Fix Section mismatch warnings in prom_init.c · 2cb387ae
      Li Zhong 提交于
      This patches tries to fix a couple of Section mismatch warnings like
      following one:
      
      WARNING: arch/powerpc/kernel/built-in.o(.text+0x2923c): Section mismatch
      in reference from the function .prom_query_opal() to the
      function .init.text:.call_prom()
      The function .prom_query_opal() references
      the function __init .call_prom().
      This is often because .prom_query_opal lacks a __init
      annotation or the annotation of .call_prom is wrong.
      Signed-off-by: NLi Zhong <zhong@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2cb387ae