1. 07 Apr, 2009 12 commits
    • Jens Axboe's avatar
      cfq-iosched: don't let idling interfere with plugging · b029195d
      Jens Axboe authored
      When CFQ is waiting for a new request from a process, currently it'll
      immediately restart queuing when it sees such a request. This doesn't
      work very well with streamed IO, since we then end up splitting IO
      that would otherwise have been merged nicely. For a simple dd test,
      this causes 10x as many requests to be issued as we should have.
      Normally this goes unnoticed due to the low overhead of requests
      at the device side, but some hardware is very sensitive to request
      sizes and there it can cause big slow downs.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      b029195d
    • Jens Axboe's avatar
      block: remove unused REQ_UNPLUG · 23853277
      Jens Axboe authored
      The request inherits the unplug flag from the bio, but it isn't actually
      used. The bio flag stops at __make_request(), which tells it to unplug
      after submission. Passing it on to the request doesn't make any sense.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      23853277
    • Jens Axboe's avatar
      cfq-iosched: kill two unused cfqq flags · 75e50984
      Jens Axboe authored
      We only manipulate the must_dispatch and queue_new flags, they are not
      tested anymore. So get rid of them.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      75e50984
    • Jens Axboe's avatar
      cfq-iosched: change dispatch logic to deal with single requests at the time · 2f5cb738
      Jens Axboe authored
      The IO scheduler core calls into the IO scheduler dispatch_request hook
      to move requests from the IO scheduler and into the driver dispatch
      list. It only does so when the dispatch list is empty. CFQ moves several
      requests to the dispatch list, which can cause higher latencies if we
      suddenly have to switch to some important sync IO. Change the logic to
      move one request at the time instead.
      
      This should almost be functionally equivalent to what we did before,
      except that we now honor 'quantum' as the maximum queue depth at the
      device side from any single cfqq. If there's just a single active
      cfqq, we allow up to 4 times the normal quantum.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      2f5cb738
    • unsik Kim's avatar
      mflash: initial support · 3fbed4c6
      unsik Kim authored
      This driver supports mflash IO mode for linux.
      
      Mflash is embedded flash drive and mainly targeted mobile and consumer
      electronic devices.
      
      Internally, mflash has nand flash and other hardware logics and supports 2
      different operation (ATA, IO) modes.  ATA mode doesn't need any new driver
      and currently works well under standard IDE subsystem.  Actually it's one
      chip SSD.  IO mode is ATA-like custom mode for the host that doesn't have
      IDE interface.
      
      Followings are brief descriptions about IO mode.
      A. IO mode based on ATA protocol and uses some custom command. (read confirm,
      write confirm)
      B. IO mode uses SRAM bus interface.
      C. IO mode supports 4kB boot area, so host can boot from mflash.
      
      This driver is quitely similar to a standard ATA driver, but because of
      following reasons it is currently seperated with ATA layer.
      
      1. ATA layer deals standard ATA protocol.  ATA layer have many low-
         level device specific interface, but data transfer keeps ATA rule.
         But, mflash IO mode doesn't.
      
      2. Even though currently not used in mflash driver code, mflash has
         some custom command and modes.  (nand fusing, firmware patch, etc) If
         this feature supported in linux kernel, ATA layer more altered.
      
      3. Currently PATA platform device driver doesn't support interrupt.
         (I'm not sure) But, mflash uses interrupt (polling mode is just for
         debug).
      
      4. mflash is somewhat under-develop product.  Even though some company
         already using mflash their own product, I think more time is needed for
         standardization of custom command and mode.  That time (maybe October)
         I will talk to with ATA people.  If they accept integration, I will
         integrate.
      Signed-off-by: default avatarunsik Kim <donari75@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      3fbed4c6
    • Mike Miller's avatar
      cciss: change to discover first memory BAR · e1438581
      Mike Miller authored
      Add a method for discovering the first memory BAR.  All Smart Array
      controllers to date have always had the the memory BAR as the first BAR.
      A new controller to be released later this year breaks that model.
      Signed-off-by: default avatarMike Miller <mike.miller@hp.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      e1438581
    • Mike Miller's avatar
      cciss: kernel scan thread for MSA2012 · 0a9279cc
      Mike Miller authored
      The MSA2012 cannot inform the driver of configuration changes since all
      management is out of band.  This is a departure from any storage we have
      supported in the past.  We need some way to detect changes on the topology
      so we implement this kernel thread.  In some instances there's nothing we
      can do from the driver (like LUN failure) so just print out a message.  In
      the case where logical volumes are added or deleted we call
      rebuild_lun_table to refresh the driver's view of the world.
      Signed-off-by: default avatarMike Miller <mike.miller@hp.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      0a9279cc
    • Jens Axboe's avatar
      cciss: fix residual count for block pc requests · ac44e5b2
      Jens Axboe authored
      We must complete the full request, so store the request count and then set
      the ->data_len to the residual count from the hardware.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      ac44e5b2
    • Jerome Marchand's avatar
      block: fix inconsistency in I/O stat accounting code · 26308eab
      Jerome Marchand authored
      This forces in_flight to be zero when turning off or on the I/O stat
      accounting and stops updating I/O stats in attempt_merge() when
      accounting is turned off.
      Signed-off-by: default avatarJerome Marchand <jmarchan@redhat.com>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      26308eab
    • Jens Axboe's avatar
      block: elevator quiescing helpers · 6c7e8cee
      Jens Axboe authored
      Simple helper functions to quiesce the request queue. These are
      currently only used for switching IO schedulers on-the-fly, but
      we can use them to properly switch IO accounting on and off as well.
      Signed-off-by: default avatarJerome Marchand <jmarchan@redhat.com>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      6c7e8cee
    • Trond Myklebust's avatar
      NFS: Fix a double free in nfs_parse_mount_options() · d508afb4
      Trond Myklebust authored
      Due to an apparent typo, commit a67d18f8
      (NFS: load the rpc/rdma transport module automatically) lead to the
      'proto=' mount option doing a double free, while Opt_mountproto leaks a
      string.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d508afb4
    • Linus Torvalds's avatar
      ext3: make default data ordering mode configurable · bbae8bcc
      Linus Torvalds authored
      This makes the defautl ext3 data ordering mode (when no explicit
      ordering is set) configurable, so as to allow people to default to
      'data=writeback' and get the resulting latency improvements.
      
      This is a non-issue if a filesystem has been explicitly set to some
      ordering (with 'tune2fs').
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bbae8bcc
  2. 06 Apr, 2009 28 commits