1. 16 5月, 2012 1 次提交
    • J
      s390/qdio: Cleanup error handling to drivers · 1549d13f
      Jan Glauber 提交于
      Various improvements of qdio error reporting to the
      upper-layer drivers (qeth, zfcp):
      
      - Split QDIO_ERROR_ACTIVATE_CHECK_CONDITION into:
      
        QDIO_ERROR_ACTIVATE: qdio termination interrupt
        QDIO_ERROR_GET_BUF_STATE: QIOASSIST eqbs error
        QDIO_ERROR_SET_BUF_STATE: QIOASSIST sqbs error
      
        Add QDIO_ERROR_FATAL / QDIO_ERROR_TEMPORARY masks
        to ease recovery decision in upper-layer drivers.
      
      - Don't (ab-)use qdio handler errors as return codes
        for do_QDIO but use standard error codes:
      
        -ENOBUFS: temporary target CC=2 condition
        -EBUSY: unresolved SIGA-W CC=2 busy condition
        -EIO: I/O error (CC=1, CC=3)
      
      - Remove unneeded memory clobber from SIGA-R
      - Remove EX_TABLE entry on SIGA-W, we want to see these errors
      Reviewed-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: NJan Glauber <jang@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      1549d13f
  2. 29 3月, 2012 1 次提交
  3. 23 3月, 2012 1 次提交
  4. 11 3月, 2012 2 次提交
    • M
      [S390] kernel: Add z/VM LGR detection · 3ab121ab
      Michael Holzheu 提交于
      Currently the following mechanisms are available to move active
      Linux on System z instances between machines:
      * z/VM 6.2 SSI (Single System Image)
      * Suspend/resume
      For moving Linux instances in this patch the term LGR (Linux Guest
      Relocation) is used. Because such an operation is critical, it
      should be detectable from Linux. With this patch for both, a live
      system and a kernel dump, the information about LGRs is accessible.
      To identify a guest, stsi and stfle data is used. A new function
      lgr_info_log() compares the current data (lgr_info_cur) with the
      last recorded one (lgr_info_last). In case the two data sets differ,
      lgr_info_cur is logged to the "lgr" s390dbf.
      
      The following trigger points call lgr_info_log():
      * panic
      * die
      * kdump
      * LGR timer
      * PSW restart
      * QDIO recovery
      * resume
      
      This patch also changes the s390dbf hex_ascii view. Now only printable ASCII
      characters are shown.
      Reviewed-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMichael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      3ab121ab
    • M
      [S390] rework idle code · 4c1051e3
      Martin Schwidefsky 提交于
      Whenever the cpu loads an enabled wait PSW it will appear as idle to the
      underlying host system. The code in default_idle calls vtime_stop_cpu
      which does the necessary voodoo to get the cpu time accounting right.
      The udelay code just loads an enabled wait PSW. To correct this rework
      the vtime_stop_cpu/vtime_start_cpu logic and move the difficult parts
      to entry[64].S, vtime_stop_cpu can now be called from anywhere and
      vtime_start_cpu is gone. The correction of the cpu time during wakeup
      from an enabled wait PSW is done with a critical section in entry[64].S.
      As vtime_start_cpu is gone, s390_idle_check can be removed as well.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      4c1051e3
  5. 03 3月, 2012 1 次提交
  6. 27 2月, 2012 1 次提交
  7. 25 1月, 2012 1 次提交
  8. 13 1月, 2012 1 次提交
    • R
      module_param: avoid bool abuse, add bint for special cases. · 69116f27
      Rusty Russell 提交于
      For historical reasons, we allow module_param(bool) to take an int (or
      an unsigned int).  That's going away.
      
      A few drivers really want an int: they set it to -1 and a parameter
      will set it to 0 or 1.  This sucks: reading them from sysfs will give
      'Y' for both -1 and 1, but if we change it to an int, then the users
      might be broken (if they did "param" instead of "param=1").
      
      Use a new 'bint' parser for them.
      
      (ntfs has a different problem: it needs an int for debug_msgs because
      it's also exposed via sysctl.)
      
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Guenter Roeck <guenter.roeck@ericsson.com>
      Cc: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
      Cc: Christoph Raisch <raisch@de.ibm.com>
      Cc: Roland Dreier <roland@kernel.org>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
      Cc: linux390@de.ibm.com
      Cc: Anton Altaparmakov <anton@tuxera.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: lm-sensors@lm-sensors.org
      Cc: linux-rdma@vger.kernel.org
      Cc: linux-s390@vger.kernel.org
      Cc: linux-ntfs-dev@lists.sourceforge.net
      Cc: alsa-devel@alsa-project.org
      Acked-by: Takashi Iwai <tiwai@suse.de> (For the sound part)
      Acked-by: Guenter Roeck <guenter.roeck@ericsson.com> (For the hwmon driver)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      69116f27
  9. 27 12月, 2011 2 次提交
  10. 01 12月, 2011 4 次提交
  11. 01 11月, 2011 1 次提交
  12. 30 10月, 2011 13 次提交
  13. 26 9月, 2011 1 次提交
  14. 15 9月, 2011 1 次提交
  15. 27 8月, 2011 1 次提交
  16. 13 8月, 2011 2 次提交
  17. 03 8月, 2011 2 次提交
  18. 27 7月, 2011 1 次提交
  19. 24 7月, 2011 1 次提交
    • J
      [S390] qdio: clear shared DSCI before scheduling the queue handler · b02f0c2e
      Jan Glauber 提交于
      The following race can occur with qdio devices that use the shared device
      state change indicator:
      
      Device (Shared DSCI)    CPU0                            CPU1
      ===============================================================================
      
      1. DSCI 0 => 1,
         INT pending
                              2. Thinint handler
                              * si_used = 1
                              * Inbound tasklet_schedule
                              * DSCI 1 => 0
      
      3. DSCI 0 => 1,
         INT pending
      
                                                              4. Thinint handler
                                                              * si_used = 1
                                                              * Inbound tasklet_schedu
      le
                                                                 => NOP
      
                              5. Inbound tasklet run
      
      6. DSCI = 1,
         INT surpressed
      
                                                              7. DSCI 1 => 0
      
      The race would lead to a stall where new data in the input queue is
      not recognized so the device stops working in case of no further traffic.
      
      Fix the race by resetting the DSCI before scheduling the inbound tasklet
      so the device generates an interrupt if new data arrives in the above
      scenario in step 6.
      Reviewed-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: NJan Glauber <jang@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      b02f0c2e
  20. 16 7月, 2011 1 次提交
  21. 06 6月, 2011 1 次提交