1. 11 1月, 2016 3 次提交
  2. 30 12月, 2015 1 次提交
  3. 18 12月, 2015 7 次提交
  4. 27 11月, 2015 9 次提交
  5. 16 11月, 2015 4 次提交
  6. 12 11月, 2015 1 次提交
  7. 11 11月, 2015 2 次提交
  8. 09 11月, 2015 2 次提交
  9. 03 11月, 2015 2 次提交
  10. 27 10月, 2015 5 次提交
  11. 16 10月, 2015 1 次提交
  12. 14 10月, 2015 3 次提交
    • H
      s390/etr,stp: fix possible deadlock on machine check · 29b0a825
      Heiko Carstens 提交于
      The first level machine check handler for etr and stp machine checks may
      call queue_work() while in nmi context. This may deadlock e.g. if the
      machine check happened when the interrupted context did hold a lock, that
      also will be acquired by queue_work().
      Therefore split etr and stp machine check handling into first and second
      level handling. The second level handling will then issue the queue_work()
      call in process context which avoids the potential deadlock.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      29b0a825
    • H
      s390/udelay: make udelay have busy loop semantics · db7e007f
      Heiko Carstens 提交于
      When using systemtap it was observed that our udelay implementation is
      rather suboptimal if being called from a kprobe handler installed by
      systemtap.
      
      The problem observed when a kprobe was installed on lock_acquired().
      When the probe was hit the kprobe handler did call udelay, which set
      up an (internal) timer and reenabled interrupts (only the clock comparator
      interrupt) and waited for the interrupt.
      This is an optimization to avoid that the cpu is busy looping while waiting
      that enough time passes. The problem is that the interrupt handler still
      does call irq_enter()/irq_exit() which then again can lead to a deadlock,
      since some accounting functions may take locks as well.
      
      If one of these locks is the same, which caused lock_acquired() to be
      called, we have a nice deadlock.
      
      This patch reworks the udelay code for the interrupts disabled case to
      immediately leave the low level interrupt handler when the clock
      comparator interrupt happens. That way no C code is being called and the
      deadlock cannot happen anymore.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Reviewed-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      db7e007f
    • C
      s390/cpumf: rework program parameter setting to detect guest samples · e22cf8ca
      Christian Borntraeger 提交于
      The program parameter can be used to mark hardware samples with
      some token.  Previously, it was used to mark guest samples only.
      
      Improve the program parameter doubleword by combining two parts,
      the leftmost LPP part and the rightmost PID part.  Set the PID
      part for processes by using the task PID.
      To distinguish host and guest samples for the kernel (PID part
      is zero), the guest must always set the program paramater to a
      non-zero value.  Use the leftmost bit in the LPP part of the
      program parameter to be able to detect guest kernel samples.
      
      [brueckner@linux.vnet.ibm.com]: Split __LC_CURRENT and introduced
      __LC_LPP. Corrected __LC_CURRENT users and adjusted assembler parts.
      And updated the commit message accordingly.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Reviewed-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      e22cf8ca