An error occurred fetching the project authors.
  1. 19 Oct, 2004 1 commit
  2. 06 Aug, 2004 1 commit
  3. 21 Jun, 2004 1 commit
  4. 12 Apr, 2004 1 commit
  5. 12 Mar, 2004 1 commit
  6. 26 Feb, 2004 1 commit
  7. 16 Oct, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] drivers/block/initrd.c removal · 0af65687
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk
      
      * drivers/block/initrd.c gone
      
      * chunk of memory where the current tree would look for intird image is
        checked for being a valid initramfs image first; then, it is either
        unpacked (in addition to normal built-in image) or, if it wasn't a valid
        image, copied into a regular file on rootfs called /dev/initrd.  Then
        memory is freed.
      
      Result:
      
      a) we can put initramfs image in place of initrd one and kernel will DTRT.
      
      b) initrd images still work as usual; code that shoves the thing to
         ramdisk, etc.  doesn't care whether it reads from a block device or
         regular file.
      
      c) initrd.c is gone, so is fake block device and a lot of irregularities
         with it.
      
      It has been in -mm for almost two weeks with no reported problems.
      0af65687
  8. 14 Aug, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] standalone elevator noop · 03497495
      Andrew Morton authored
      From: Nick Piggin <piggin@cyberone.com.au>
      
      Following patch seperates elevator noop, and allows it to be treated
      like the other schedulers.
      03497495
  9. 26 Jul, 2003 1 commit
    • Bernardo Innocenti's avatar
      [PATCH] Make I/O schedulers optional · f374048e
      Bernardo Innocenti authored
      Add kconfig options to allow excluding either or both the I/O
      schedulers.  This can be useful for embedded systems (saves about ~13KB).
      
      All schedulers are enabled by default for non-embedded.
      f374048e
  10. 10 Jul, 2003 1 commit
    • Andries E. Brouwer's avatar
      [PATCH] cryptoloop · 05081dcb
      Andries E. Brouwer authored
      util-linux is waiting for this: it needs to update "struct loop_info64"
      to add the encryption policy name.
      05081dcb
  11. 05 Jul, 2003 2 commits
    • Andrew Morton's avatar
      [PATCH] anticipatory I/O scheduler · 97ff29c2
      Andrew Morton authored
      From: Nick Piggin <piggin@cyberone.com.au>
      
      This is the core anticipatory IO scheduler.  There are nearly 100 changesets
      in this and five months work.  I really cannot describe it fully here.
      
      Major points:
      
      - It works by recognising that reads are dependent: we don't know where the
        next read will occur, but it's probably close-by the previous one.  So once
        a read has completed we leave the disk idle, anticipating that a request
        for a nearby read will come in.
      
      - There is read batching and write batching logic.
      
        - when we're servicing a batch of writes we will refuse to seek away
          for a read for some tens of milliseconds.  Then the write stream is
          preempted.
      
        - when we're servicing a batch of reads (via anticipation) we'll do
          that for some tens of milliseconds, then preempt.
      
      - There are request deadlines, for latency and fairness.
        The oldest outstanding request is examined at regular intervals. If
        this request is older than a specific deadline, it will be the next
        one dispatched. This gives a good fairness heuristic while being simple
        because processes tend to have localised IO.
      
      
      Just about all of the rest of the complexity involves an array of fixups
      which prevent most of teh obvious failure modes with anticipation: trying to
      not leave the disk head pointlessly idle.  Some of these algorithms are:
      
      - Process tracking.  If the process whose read we are anticipating submits
        a write, abandon anticipation.
      
      - Process exit tracking.  If the process whose read we are anticipating
        exits, abandon anticipation.
      
      - Process IO history.  We accumulate statistical info on the process's
        recent IO patterns to aid in making decisions about how long to anticipate
        new reads.
      
        Currently thinktime and seek distance are tracked. Thinktime is the
        time between when a process's last request has completed and when it
        submits another one. Seek distance is simply the number of sectors
        between each read request. If either statistic becomes too high, the
        it isn't anticipated that the process will submit another read.
      
      The above all means that we need a per-process "io context".  This is a fully
      refcounted structure.  In this patch it is AS-only.  later we generalise it a
      little so other IO schedulers could use the same framework.
      
      - Requests are grouped as synchronous and asynchronous whereas deadline
        scheduler groups requests as reads and writes. This can provide better
        sync write performance, and may give better responsiveness with journalling
        filesystems (although we haven't done that yet).
      
        We currently detect synchronous writes by nastily setting PF_SYNCWRITE in
        current->flags.  The plan is to remove this later, and to propagate the
        sync hint from writeback_contol.sync_mode into bio->bi_flags thence into
        request->flags.  Once that is done, direct-io needs to set the BIO sync
        hint as well.
      
      - There is also quite a bit of complexity gone into bashing TCQ into
        submission. Timing for a read batch is not started until the first read
        request actually completes. A read batch also does not start until all
        outstanding writes have completed.
      
      AS is the default IO scheduler.  deadline may be chosen by booting with
      "elevator=deadline".
      
      There are a few reasons for retaining deadline:
      
      - AS is often slower than deadline in random IO loads with large TCQ
        windows. The usual real world task here is OLTP database loads.
      
      - deadline is presumably more stable.
      
      - deadline is much simpler.
      
      
      
      The tunable per-queue entries under /sys/block/*/iosched/ are all in
      milliseconds:
      
      * read_expire
      
        Controls how long until a request becomes "expired".
      
        It also controls the interval between which expired requests are served,
        so set to 50, a request might take anywhere < 100ms to be serviced _if_ it
        is the next on the expired list.
      
        Obviously it can't make the disk go faster.  Result is basically the
        timeslice a reader gets in the presence of other IO.  100*((seek time /
        read_expire) + 1) is very roughly the % streaming read efficiency your disk
        should get in the presence of multiple readers.
      
      * read_batch_expire
      
        Controls how much time a batch of reads is given before pending writes
        are served.  Higher value is more efficient.  Shouldn't really be below
        read_expire.
      
      * write_ versions of the above
      
      * antic_expire
      
        Controls the maximum amount of time we can anticipate a good read before
        giving up.  Many other factors may cause anticipation to be stopped early,
        or some processes will not be "anticipated" at all.  Should be a bit higher
        for big seek time devices though not a linear correspondance - most
        processes have only a few ms thinktime.
      97ff29c2
    • Andrew Morton's avatar
      [PATCH] Create `kblockd' workqueue · 33c66485
      Andrew Morton authored
      keventd is inappropriate for running block request queues because keventd
      itself can get blocked on disk I/O.  Via call_usermodehelper()'s vfork and,
      presumably, GFP_KERNEL allocations.
      
      So create a new gang of kernel threads whose mandate is for running low-level
      disk operations.  It must ever block on disk IO, so any memory allocations
      should be GFP_NOIO.
      
      We mainly use it for running unplug operations from interrupt context.
      33c66485
  12. 23 Apr, 2003 1 commit
    • Christoph Hellwig's avatar
      [PATCH] split initrd from ramdisk driver · ab941afd
      Christoph Hellwig authored
      They don't have any code in common, so the initrd support can
      go into a separate file and not require ramdisk support.
      
      Lots of ifdefs gone and smaller kernel images for initrd users.
      ab941afd
  13. 08 Apr, 2003 1 commit
  14. 03 Feb, 2003 1 commit
  15. 15 Dec, 2002 1 commit
  16. 15 Oct, 2002 2 commits
    • Alexander Viro's avatar
      [PATCH] block ioctl cleanup · c6973580
      Alexander Viro authored
      	guts of blkpg.c and blkdev_ioctl() sanitized up and moved into a new
      file - drivers/block/ioctl.c.  blkpg.c is gone.
      c6973580
    • Linus Torvalds's avatar
      Block layer ioctl cleanups. · 90df68e7
      Linus Torvalds authored
      Rename old "block_ioctl()" function: it's "scsi_cmd_ioctl()", as that
      is what the function does. Rename the whole file "scsi_ioctl.c"
      90df68e7
  17. 25 Sep, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] deadline scheduler · 85b2148a
      Jens Axboe authored
      This introduces the deadline-ioscheduler, making it the default.  2nd
      patch coming that deletes elevator_linus in a minute.
      
      This one has read_expire at 500ms, and writes_starved at 2.
      85b2148a
  18. 02 Sep, 2002 1 commit
  19. 27 Jul, 2002 1 commit
    • Kai Germaschewski's avatar
      kbuild: Fix "export-objs" · b9a898b8
      Kai Germaschewski authored
      This patch cleans up most of the Makefile's to list the correct files
      (i.e. the ones which do have "EXPORT_SYMBOL" in them) in $(export-objs)
      
      Contributed by "Lightweight patch manager"
      b9a898b8
  20. 28 May, 2002 1 commit
    • Kai Germaschewski's avatar
      kbuild: Group together descending/linking in drivers/* · dc3b2a73
      Kai Germaschewski authored
      We currently decide whether we need to descend into the subdirs of
      drivers/ in drivers/Makefile, but link the resulting objects from
      the top-level Makefile.
      
      Making these two decisions at the same time (in drivers/Makefile) cleans
      up the top-level Makefile quite a bit.
      
      Link order does not change at all apart from sound/, which is now linked
      last.
      dc3b2a73
  21. 17 May, 2002 1 commit
    • Neil Brown's avatar
      [PATCH] Micro Memory battery backed RAM card driver · 76e7b902
      Neil Brown authored
      New driver for Micro Memory NVRAM module
      
      This driver handles up to 16 PCI based NVRAM cards
      from MicroMemory.
      Each card appears like a block device, and can be partitioned
      using any standard partitioning tool.  Upto 15 partitions are
      supported.
      
      This driver needs its own major device number and so allocates
      one using register_blkdev.
      76e7b902
  22. 26 Feb, 2002 1 commit
  23. 05 Feb, 2002 4 commits
    • Linus Torvalds's avatar
      v2.5.0.5 -> v2.5.0.6 · ef40d49b
      Linus Torvalds authored
      - Jens Axboe: more bio stuff
      - Coda compile fixes
      - Nathan Laredo: stradis driver update
      ef40d49b
    • Linus Torvalds's avatar
      v2.5.0.1 -> v2.5.0.2 · e1e2cfc3
      Linus Torvalds authored
      - Greg KH: USB update
      - Richard Gooch: refcounting for devfs
      - Jens Axboe: start of new block IO layer
      e1e2cfc3
    • Linus Torvalds's avatar
      v2.4.9.6 -> v2.4.9.7 · 7df13152
      Linus Torvalds authored
        - Alan Cox: big driver/mips sync
        - Andries Brouwer, Christoph Hellwig: more gendisk fixups
        - Tobias Ringstrom: tulip driver workaround for DC21143 erratum
      7df13152
    • Linus Torvalds's avatar
      Import changeset · 7a2deb32
      Linus Torvalds authored
      7a2deb32