1. 08 6月, 2012 1 次提交
    • P
      powerpc/time: Sanity check of decrementer expiration is necessary · 860aed25
      Paul Mackerras 提交于
      This reverts 68568add ("powerpc/time: Remove unnecessary sanity check
      of decrementer expiration").  We do need to check whether we have reached
      the expiration time of the next event, because we sometimes get an early
      decrementer interrupt, most notably when we set the decrementer to 1 in
      arch_irq_work_raise().  The effect of not having the sanity check is that
      if timer_interrupt() gets called early, we leave the decrementer set to
      its maximum value, which means we then don't get any more decrementer
      interrupts for about 4 seconds (or longer, depending on timebase
      frequency).  I saw these pauses as a consequence of getting a stray
      hypervisor decrementer interrupt left over from exiting a KVM guest.
      
      This isn't quite a straight revert because of changes to the surrounding
      code, but it restores the same algorithm as was previously used.
      
      Cc: stable@vger.kernel.org
      Acked-by: NAnton Blanchard <anton@samba.org>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      860aed25
  2. 02 6月, 2012 6 次提交
  3. 28 5月, 2012 1 次提交
  4. 24 5月, 2012 1 次提交
  5. 22 5月, 2012 4 次提交
  6. 17 5月, 2012 1 次提交
    • S
      fork: move the real prepare_to_copy() users to arch_dup_task_struct() · 55ccf3fe
      Suresh Siddha 提交于
      Historical prepare_to_copy() is mostly a no-op, duplicated for majority of
      the architectures and the rest following the x86 model of flushing the extended
      register state like fpu there.
      
      Remove it and use the arch_dup_task_struct() instead.
      Suggested-by: NOleg Nesterov <oleg@redhat.com>
      Suggested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Link: http://lkml.kernel.org/r/1336692811-30576-1-git-send-email-suresh.b.siddha@intel.comAcked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: James E.J. Bottomley <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      55ccf3fe
  7. 16 5月, 2012 1 次提交
  8. 14 5月, 2012 4 次提交
  9. 12 5月, 2012 1 次提交
    • B
      powerpc/irq: Fix another case of lazy IRQ state getting out of sync · 7c0482e3
      Benjamin Herrenschmidt 提交于
      So we have another case of paca->irq_happened getting out of
      sync with the HW irq state. This can happen when a perfmon
      interrupt occurs while soft disabled, as it will return to a
      soft disabled but hard enabled context while leaving a stale
      PACA_IRQ_HARD_DIS flag set.
      
      This patch fixes it, and also adds a test for the condition
      of those flags being out of sync in arch_local_irq_restore()
      when CONFIG_TRACE_IRQFLAGS is enabled.
      
      This helps catching those gremlins faster (and so far I
      can't seem see any anymore, so that's good news).
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7c0482e3
  10. 09 5月, 2012 2 次提交
  11. 08 5月, 2012 3 次提交
  12. 06 5月, 2012 2 次提交
  13. 05 5月, 2012 1 次提交
  14. 03 5月, 2012 2 次提交
    • S
      powerpc/47x: Kernel support for KEXEC · 68343020
      Suzuki Poulose 提交于
      This patch adds support for creating 1:1 mapping for the PPC_47x during
      a KEXEC. The implementation is similar to that of the PPC440x which is
      described here :
      
      	http://patchwork.ozlabs.org/patch/104323/
      
      PPC_47x MMU :
      
      The 47x uses Unified TLB 1024 entries, with 4-way associative mapping
      (4 x 256 entries). The index to be used is calculated by the MMU by
      hashing the PID, EPN and TS. The software can choose to specify the way
      by setting bit 0(enable way select) and the way in bits 1-2 in the TLB
      Word 0.
      
      Implementation:
      
      The patch erases all the UTLB entries which includes the tlb covering
      the mapping for our code. The shadow TLB caches the mapping for the
      running code which helps us to continue the execution until we do
      isync/rfi. We then create a tmp mapping for the current code in the
      other address space (TS) and switch to it.
      
      Then we create a 1:1 mapping(EPN=RPN) for 0-2GiB in the original
      address space and switch to the new mapping.
      
      TODO: Add SMP support.
      Signed-off-by: NSuzuki K. Poulose <suzuki@in.ibm.com>
      Signed-off-by: NJosh Boyer <jwboyer@gmail.com>
      68343020
    • S
      powerpc/44x: Fix/Initialize PID to kernel PID before the TLB search · f13bfcc6
      Suzuki Poulose 提交于
      Initialize the PID register with kernel pid (0) before we start
      setting the TLB mapping for KEXEC. Also set the MMUCR[TID] to kernel
      PID.
      
      This was spotted while testing the kexec on ISS for 47x. ISS  doesn't
      return a successful tlbsx for a kernel address with PID set to a user PID.
      Though the hardware/qemu/simics work fine.
      
      This patch is harmless and initializes the PID to 0 (kernel PID) which
      is usually the case during a normal kernel boot. This would fix the kexec
      on ISS for 440. I have tested this patch on sequoia board.
      Signed-off-by: NSuzuki K Poulose <suzuki@in.ibm.com>
      Cc: Josh Boyer <jwboyer@gmail.com>
      Signed-off-by: NJosh Boyer <jwboyer@gmail.com>
      f13bfcc6
  15. 30 4月, 2012 10 次提交