1. 16 9月, 2014 5 次提交
  2. 23 8月, 2014 1 次提交
  3. 20 8月, 2014 1 次提交
    • G
      scsi: Fix qemu boot hang problem · 480cadc2
      Guenter Roeck 提交于
      The latest kernel fails to boot qemu arm images when using scsi
      for disk access. Boot gets stuck after the following messages.
      
      brd: module loaded
      sym53c8xx 0000:00:0c.0: enabling device (0100 -> 0103)
      sym0: <895a> rev 0x0 at pci 0000:00:0c.0 irq 93
      sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking
      sym0: SCSI BUS has been reset.
      scsi host0: sym-2.2.3
      
      Bisect points to commit 71e75c97 ("scsi: convert device_busy to
      atomic_t"). Code inspection shows the following suspicious change
      in scsi_request_fn.
      
      out_delay:
      -       if (sdev->device_busy == 0 && !scsi_device_blocked(sdev))
      +       if (atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
      		blk_delay_queue(q, SCSI_QUEUE_DELAY);
      	}
      
      'sdev->device_busy == 0' was replaced with 'atomic_read(&sdev->device_busy)',
      meaning the logic was reversed. Changing this expression to
      '!atomic_read(&sdev->device_busy)' fixes the problem.
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Acked-by: NJens Axboe <axboe@fb.com>
      Reviewed-by: NVenkatesh Srinivas <venkateshs@google.com>
      Reviewed-by: NWebb Scales <webbnh@hp.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      480cadc2
  4. 16 8月, 2014 2 次提交
  5. 14 8月, 2014 1 次提交
  6. 13 8月, 2014 1 次提交
  7. 09 8月, 2014 2 次提交
  8. 06 8月, 2014 1 次提交
  9. 04 8月, 2014 1 次提交
  10. 03 8月, 2014 1 次提交
  11. 02 8月, 2014 1 次提交
  12. 01 8月, 2014 7 次提交
  13. 30 7月, 2014 6 次提交
  14. 29 7月, 2014 9 次提交
  15. 26 7月, 2014 1 次提交
    • D
      scsi_debug: support scsi-mq, queues and locks · cbf67842
      Douglas Gilbert 提交于
       - add host_lock option whose default value is 0 which removes the
         host_lock around all queued commands
       - accept delay=-1 (_hi_) or -2 which use a tasklet to invoke
         the scsi_done callback into the mid-layer. The default
         is still delay=1 which uses a timer to delay 1 jiffy
       - wire .change_queue_depth and .change_queue_type
         functions to better simulate queueing in a modern LLD
       - add SCSI_DEBUG_OPT_Q_NOISE (0x200) mask to only produce
         debug output associated with queue full, plus from
         .change_queue_depth and .change_queue_type functions
       - add SCSI_DEBUG_OPT_ALL_TSF (0x400) mask which reports
         all queued_arr fulls at TASK_SET_FULL, otherwise
         SCSI_MLQUEUE_HOST_BUSY is returned
       - add SCSI_DEBUG_OPT_RARE_TSF (0x800) mask which works
         together with the every_nth option (> 0) to count
         occurrences of num_in_q==queue_depth. When every_nth
         is reached the victim (a command) yields TASK SET FULL
       - clean up many debug messages.
       - add ndelay=<nanosecs> option that uses high resolution
         timers; active if > 0 and then overrides delay= option
       - expand Unit Attention handling: POR, BUS_RESET and
         MODE PARAMETERS CHANGED
       - support .eh_target_reset_handler and drop .bios_param
       - add OPT_N_WCE mask so caching page yields WCE=0
       - add OPT_RESET_NOISE mask to log aborts and resets
       - add OPT_NO_CDB_NOISE mask to not log each cdb
       - MODE SELECT support for changing caching page's WCE
       - name common ioctls in log
       - when fake_rw=1, do not vmalloc fake store; make
         UNMAP and WRITE SAME obey fake_rw
       - more logging and code improvements including better
         sense buffer handling
      
      With fio and four (pseudo) devices I have observed 1.2 M IOPS
      on my equipment. Rob Elliott who has done much testing and made
      numerous suggestions, has better IOPS results than mine.
      Signed-off-by: NDouglas Gilbert <dgilbert@interlog.com>
      Reviewed-by: NRobert Elliott <elliott@hp.com>
      Tested-by: NRobert Elliott <elliott@hp.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      cbf67842