01 Oct, 2006

13 commits


30 Sep, 2006

1 commit


24 Sep, 2006

1 commit


23 Sep, 2006

1 commit


31 Aug, 2006

1 commit

  • The current block queue implementation already contains most of the
    machinery for shared tag maps. The only remaining pieces are a way to
    allocate and destroy a tag map independently of the queues (so that
    the maps can be managed on the life cycle of the overseeing entity)

    Acked-by: Jens Axboe
    Signed-off-by: James Bottomley

    James Bottomley
     

23 Jun, 2006

3 commits

  • This saves 8 bytes of data in 64-bit archs.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • The IDE power management can just use the ->end_io_data member to store
    it's data.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • A process flag to indicate whether we are doing sync io is incredibly
    ugly. It also causes performance problems when one does a lot of async
    io and then proceeds to sync it. Part of the io will go out as async,
    and the other part as sync. This causes a disconnect between the
    previously submitted io and the synced io. For io schedulers such as CFQ,
    this will cause us lost merges and suboptimal behaviour in scheduling.

    Remove PF_SYNCWRITE completely from the fsync/msync paths, and let
    the O_DIRECT path just directly indicate that the writes are sync
    by using WRITE_SYNC instead.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

22 Jun, 2006

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (85 commits)
    [SCSI] 53c700: remove reliance on deprecated cmnd fields
    [SCSI] hptiop: don't use cmnd->bufflen
    [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver
    [SCSI] aacraid: small misc. cleanups
    [SCSI] aacraid: Update supported product information
    [SCSI] aacraid: Fix return code interpretation
    [SCSI] scsi_transport_sas: fix panic in sas_free_rphy
    [SCSI] remove RQ_SCSI_* flags
    [SCSI] remove scsi_request infrastructure
    [SCSI] mptfusion: change driver revision to 3.03.10
    [SCSI] mptfc: abort of board reset leaves port dead requiring reboot
    [SCSI] mptfc: fix fibre channel infinite request/response loop
    [SCSI] mptfc: set fibre channel fw target missing timers to one second
    [SCSI] mptfusion: move fc event/reset handling to mptfc
    [SCSI] spi transport: don't allow dt to be set on SE or HVD buses
    [SCSI] aic7xxx: expose the bus setting to sysfs
    [SCSI] scsi: remove Documentation/scsi/cpqfc.txt
    [SCSI] drivers/scsi: Use ARRAY_SIZE macro
    [SCSI] Remove last page_address from dc395x.c
    [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver
    ...

    Fixed up conflicts in drivers/message/fusion/mptbase.c manually (due to
    the sparc interrupt cleanups)

    Linus Torvalds
     

11 Jun, 2006

1 commit

  • The RQ_SCSI_* flags are a vestiage of a long past history. The EH code
    still sets them but we never make use of that information. The other
    users is pluto.c which never had a chance to work but needs to be kept
    compiling to keep Davem happy, so copy over the definition there.

    We could probably get rid of RQ_ACTIVE/RQ_INACTIVE aswell with some
    work, there's only two more or less bogus looking uses in ubd and scsi.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: James Bottomley

    Christoph Hellwig
     

26 Apr, 2006

1 commit


13 Apr, 2006

1 commit

  • We currently have two implementations of this obsolete ioctl, one in
    the block layer and one in the scsi code. Both of them have drawbacks.

    This patch kills the scsi layer version after updating the block version
    with the missing bits:

    - argument checking
    - use scatterlist I/O
    - set number of retries based on the submitted command

    This is the last user of non-S/G I/O except for the gdth driver, so
    getting this in ASAP and through the scsi tree would be nie to kill
    the non-S/G I/O path. Jens, what do you think about adding a check
    for non-S/G I/O in the midlayer?

    Thanks to Or Gerlitz for testing this patch.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: James Bottomley

    Christoph Hellwig
     

28 Mar, 2006

2 commits

  • Detect whether a given process is seeky and if so disable (mostly) the
    idle window if it is. We still allow just a little idle time, just enough
    to allow that process to submit a new request. That is needed to maintain
    fairness across priority groups.

    In some cases, we could setup several async queues. This is not optimal
    from a performance POV, since we want all async io in one queue to perform
    good sorting on it. It also impacted sync queues, as async io got too much
    slice time.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • On setups with many disks, we spend a considerable amount of time
    looking up the process-disk mapping on each queue of io. Testing with
    a NULL based block driver, this costs 40-50% reduction in throughput
    for 1000 disks.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

24 Mar, 2006

1 commit


19 Mar, 2006

3 commits


24 Jan, 2006

1 commit


10 Jan, 2006

1 commit


09 Jan, 2006

2 commits


06 Jan, 2006

3 commits

  • Jens Axboe
     
  • Reimplement handling of barrier requests.

    * Flexible handling to deal with various capabilities of
    target devices.
    * Retry support for falling back.
    * Tagged queues which don't support ordered tag can do ordered.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • add @uptodate argument to end_that_request_last() and @error
    to rq_end_io_fn(). there's no generic way to pass error code
    to request completion function, making generic error handling
    of non-fs request difficult (rq->errors is driver-specific and
    each driver uses it differently). this patch adds @uptodate
    to end_that_request_last() and @error to rq_end_io_fn().

    for fs requests, this doesn't really matter, so just using the
    same uptodate argument used in the last call to
    end_that_request_first() should suffice. imho, this can also
    help the generic command-carrying request jens is working on.

    Signed-off-by: tejun heo
    Signed-Off-By: Jens Axboe

    Tejun Heo
     

16 Dec, 2005

1 commit

  • - export __blk_put_request and blk_execute_rq_nowait
    needed for async REQ_BLOCK_PC requests
    - seperate max_hw_sectors and max_sectors for block/scsi_ioctl.c and
    SG_IO bio.c helpers per Jens's last comments. Since block/scsi_ioctl.c SG_IO was
    already testing against max_sectors and SCSI-ml was setting max_sectors and
    max_hw_sectors to the same value this does not change any scsi SG_IO behavior. It only
    prepares ll_rw_blk.c, scsi_ioctl.c and bio.c for when SCSI-ml begins to set
    a valid max_hw_sectors for all LLDs. Today if a LLD does not set it
    SCSI-ml sets it to a safe default and some LLDs set it to a artificial low
    value to overcome memory and feedback issues.

    Note: Since we now cap max_sectors to BLK_DEF_MAX_SECTORS, which is 1024,
    drivers that used to call blk_queue_max_sectors with a large value of
    max_sectors will now see the fs requests capped to BLK_DEF_MAX_SECTORS.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

15 Dec, 2005

2 commits