1. 05 1月, 2011 1 次提交
    • H
      [S390] irq: have detailed statistics for interrupt types · 052ff461
      Heiko Carstens 提交于
      Up to now /proc/interrupts only has statistics for external and i/o
      interrupts but doesn't split up them any further.
      This patch adds a line for every single interrupt source so that it
      is possible to easier tell what the machine is/was doing.
      Part of the output now looks like this;
      
                 CPU0       CPU2       CPU4
      EXT:       3898       4232       2305
      I/O:        782        315        245
      CLK:       1029       1964        727   [EXT] Clock Comparator
      IPI:       2868       2267       1577   [EXT] Signal Processor
      TMR:          0          0          0   [EXT] CPU Timer
      TAL:          0          0          0   [EXT] Timing Alert
      PFL:          0          0          0   [EXT] Pseudo Page Fault
      [...]
      NMI:          0          1          1   [NMI] Machine Checks
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      052ff461
  2. 25 11月, 2010 1 次提交
    • H
      [S390] nmi: fix clock comparator revalidation · e8129c64
      Heiko Carstens 提交于
      On each machine check all registers are revalidated. The save area for
      the clock comparator however only contains the upper most seven bytes
      of the former contents, if valid.
      Therefore the machine check handler uses a store clock instruction to
      get the current time and writes that to the clock comparator register
      which in turn will generate an immediate timer interrupt.
      However within the lowcore the expected time of the next timer
      interrupt is stored. If the interrupt happens before that time the
      handler won't be called. In turn the clock comparator won't be
      reprogrammed and therefore the interrupt condition stays pending which
      causes an interrupt loop until the expected time is reached.
      
      On NOHZ machines this can result in unresponsive machines since the
      time of the next expected interrupted can be a couple of days in the
      future.
      
      To fix this just revalidate the clock comparator register with the
      expected value.
      In addition the special handling for udelay must be changed as well.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      e8129c64
  3. 17 5月, 2010 1 次提交
    • M
      [S390] idle time accounting vs. machine checks · 6377981f
      Martin Schwidefsky 提交于
      A machine check can interrupt the i/o and external interrupt handler
      anytime. If the machine check occurs while the interrupt handler is
      waking up from idle vtime_start_cpu can get executed a second time
      and the int_clock / async_enter_timer values in the lowcore get
      clobbered. This can confuse the cpu time accounting.
      To fix this problem two changes are needed. First the machine check
      handler has to use its own copies of int_clock and async_enter_timer,
      named mcck_clock and mcck_enter_timer. Second the nested execution
      of vtime_start_cpu has to be prevented. This is done in s390_idle_check
      by checking the wait bit in the program status word.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      6377981f
  4. 12 6月, 2009 1 次提交
  5. 14 4月, 2009 1 次提交
  6. 26 3月, 2009 3 次提交
  7. 31 12月, 2008 1 次提交
  8. 14 7月, 2008 2 次提交
  9. 07 6月, 2008 1 次提交
  10. 07 5月, 2008 1 次提交
  11. 17 4月, 2008 1 次提交
  12. 27 4月, 2007 2 次提交
  13. 06 2月, 2007 3 次提交
  14. 02 10月, 2006 1 次提交
    • C
      [PATCH] replace cad_pid by a struct pid · 9ec52099
      Cedric Le Goater 提交于
      There are a few places in the kernel where the init task is signaled.  The
      ctrl+alt+del sequence is one them.  It kills a task, usually init, using a
      cached pid (cad_pid).
      
      This patch replaces the pid_t by a struct pid to avoid pid wrap around
      problem.  The struct pid is initialized at boot time in init() and can be
      modified through systctl with
      
      	/proc/sys/kernel/cad_pid
      
      [ I haven't found any distro using it ? ]
      
      It also introduces a small helper routine kill_cad_pid() which is used
      where it seemed ok to use cad_pid instead of pid 1.
      
      [akpm@osdl.org: cleanups, build fix]
      Signed-off-by: NCedric Le Goater <clg@fr.ibm.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9ec52099
  15. 28 9月, 2006 1 次提交
    • M
      [S390] Inline assembly cleanup. · 94c12cc7
      Martin Schwidefsky 提交于
      Major cleanup of all s390 inline assemblies. They now have a common
      coding style. Quite a few have been shortened, mainly by using register
      asm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,
      bit ops and locking inlines new use the Q-constraint if a newer gcc
      is used.  That results in slightly better code.
      
      Thanks to Christian Borntraeger for proof reading the changes.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      94c12cc7
  16. 20 9月, 2006 1 次提交
  17. 12 7月, 2006 1 次提交
    • C
      [S390] path grouping and path verifications fixes. · 7e560814
      Cornelia Huck 提交于
      1. Multipath devices for which SetPGID is not supported are not handled well.
         Use NOP ccws for path verification (sans path grouping) when SetPGID is not
         supported.
      2. Check for PGIDs already set with SensePGID on _all_ paths (not just the
         first one) and try to find a common one. Moan if no common PGID can be
         found (and use NOP verification). If no PGIDs have been set, use the css
         global PGID (as before). (Rationale: SetPGID will get a command reject if
         the PGID it tries to set does not match the already set PGID.)
      3. Immediately before reboot, issue RESET CHANNEL PATH (rcp) on all chpids. This
         will remove the old PGIDs. rcp will generate solicited CRWs which can be
         savely ignored by the machine check handler (all other actions create
         unsolicited CRWs).
      Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      7e560814
  18. 04 7月, 2006 1 次提交
  19. 01 7月, 2006 1 次提交
  20. 29 6月, 2006 1 次提交
  21. 02 5月, 2006 1 次提交
  22. 28 4月, 2006 1 次提交
  23. 07 1月, 2006 2 次提交
  24. 05 9月, 2005 1 次提交
    • M
      [PATCH] s390: machine check handler bugs · ae6aa2ea
      Martin Schwidefsky 提交于
      The new machine check handler still has a few bugs.
      
      1) The system entry time has to be stored in the machine check handler,
      
      2) the machine check return psw may not be stored at the usual place
         because it might overwrite the return psw of the interrupted context,
      
      3) the return address for the call to s390_handle_mcck in the i/o interrupt
         handler is not correct,
      
      4) the system call cleanup has to take the different save area of the
         machine check handler into account,
      
      5) the machine check handler may not call UPDATE_VTIME before
         CREATE_STACK_FRAME, and
      
      6) the io leave path needs a critical section cleanup to make sure that the
         TIF_MCCK_PENDING bit is really checked before switching back to user space.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ae6aa2ea
  25. 26 6月, 2005 1 次提交
  26. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4