1. 25 5月, 2013 5 次提交
    • H
      parisc: fix irq stack on UP and SMP · d96b51ec
      Helge Deller 提交于
      The logic to detect if the irq stack was already in use with
      raw_spin_trylock() is wrong, because it will generate a "trylock failure
      on UP" error message with CONFIG_SMP=n and CONFIG_DEBUG_SPINLOCK=y.
      
      arch_spin_trylock() can't be used either since in the CONFIG_SMP=n case
      no atomic protection is given and we are reentrant here. A mutex didn't
      worked either and brings more overhead by turning off interrupts.
      
      So, let's use the fastest path for parisc which is the ldcw instruction.
      
      Counting how often the irq stack was used is pretty useless, so just
      drop this piece of code.
      Signed-off-by: NHelge Deller <deller@gmx.de>
      d96b51ec
    • J
      parisc: make interrupt and interruption stack allocation reentrant · b63a2bbc
      John David Anglin 提交于
      The get_stack_use_cr30 and get_stack_use_r30 macros allocate a stack
      frame for external interrupts and interruptions requiring a stack frame.
      They are currently not reentrant in that they save register context
      before the stack is set or adjusted.
      
      I have observed a number of system crashes where there was clear
      evidence of stack corruption during interrupt processing, and as a
      result register corruption. Some interruptions can still occur during
      interruption processing, however external interrupts are disabled and
      data TLB misses don't occur for absolute accesses. So, it's not entirely
      clear what triggers this issue. Also, if an interruption occurs when
      Q=0, it is generally not possible to recover as the shadowed registers
      are not copied.
      
      The attached patch reworks the get_stack_use_cr30 and get_stack_use_r30
      macros to allocate stack before doing register saves. The new code is a
      couple of instructions shorter than the old implementation. Thus, it's
      an improvement even if it doesn't fully resolve the stack corruption
      issue. Based on limited testing, it improves SMP system stability.
      Signed-off-by: NJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: NHelge Deller <deller@gmx.de>
      b63a2bbc
    • H
      parisc: show number of FPE and unaligned access handler calls in /proc/interrupts · d0c3be80
      Helge Deller 提交于
      Show number of floating point assistant and unaligned access fixup
      handler in /proc/interrupts file.
      Signed-off-by: NHelge Deller <deller@gmx.de>
      d0c3be80
    • H
      parisc: use PAGE_SHIFT instead of hardcoded value 12 in pacache.S · d845b5fb
      Helge Deller 提交于
      additionally clean up some whitespaces & tabs.
      Signed-off-by: NHelge Deller <deller@gmx.de>
      d845b5fb
    • H
      parisc: add rp5470 entry to machine database · 949451b9
      Helge Deller 提交于
      Signed-off-by: NHelge Deller <deller@gmx.de>
      949451b9
  2. 24 5月, 2013 7 次提交
  3. 23 5月, 2013 1 次提交
    • J
      avr32: fix building warnings caused by redefinitions of HZ · 0c9b5a31
      Jiang Liu 提交于
      As suggested by David Howells <dhowells@redhat.com>, use
      asm-generic/param.h and uapi/asm-generic/param.h for AVR32.
      
      It also fixes building warnings caused by redefinitions of HZ:
      In file included from /ws/linux/kernel/linux.git/include/uapi/linux/param.h:4,
                       from include/linux/timex.h:63,
                       from include/linux/jiffies.h:8,
                       from include/linux/ktime.h:25,
                       from include/linux/timer.h:5,
                       from include/linux/workqueue.h:8,
                       from include/linux/srcu.h:34,
                       from include/linux/notifier.h:15,
                       from include/linux/memory_hotplug.h:6,
                       from include/linux/mmzone.h:777,
                       from include/linux/gfp.h:4,
                       from arch/avr32/mm/init.c:10:
      /ws/linux/kernel/linux.git/arch/avr32/include/asm/param.h:6:1: warning: "HZ" redefined
      In file included from /ws/linux/kernel/linux.git/arch/avr32/include/asm/param.h:4,
                       from /ws/linux/kernel/linux.git/include/uapi/linux/param.h:4,
                       from include/linux/timex.h:63,
                       from include/linux/jiffies.h:8,
                       from include/linux/ktime.h:25,
                       from include/linux/timer.h:5,
                       from include/linux/workqueue.h:8,
                       from include/linux/srcu.h:34,
                       from include/linux/notifier.h:15,
                       from include/linux/memory_hotplug.h:6,
                       from include/linux/mmzone.h:777,
                       from include/linux/gfp.h:4,
                       from arch/avr32/mm/init.c:10:
      /ws/linux/kernel/linux.git/arch/avr32/include/uapi/asm/param.h:6:1: warning: this is the location of the previous definition
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NHans-Christian Egtvedt <egtvedt@samfundet.no>
      0c9b5a31
  4. 22 5月, 2013 14 次提交
  5. 21 5月, 2013 3 次提交
  6. 19 5月, 2013 1 次提交
    • R
      MIPS: Rewrite pfn_valid to work in modules, too. · 8b923214
      Ralf Baechle 提交于
      This fixes:
      
        MODPOST 393 modules
      ERROR: "min_low_pfn" [arch/mips/kvm/kvm.ko] undefined!
      make[3]: *** [__modpost] Error 1
      
      It would have been possible to just export min_low_pfn but in the end
      pfn_valid should return 1 for any pfn argument for which a struct page
      exists so using min_low_pfn was wrong anyway.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8b923214
  7. 18 5月, 2013 9 次提交