An error occurred fetching the project authors.
  1. 28 Oct, 2002 3 commits
    • Jens Axboe's avatar
      [PATCH] queue last_merge hint cleanup · c5868eb7
      Jens Axboe authored
      Cleanup the last_merge logic. There are two reasons for clearing
      last_merge when we are dealing with integrity, and these are:
      
      o Clear when handing the request to the driver, so we don't merge on
        a started request.
      
      o Clear when a request is taken off the list. This cannot be done from
        the driver (above case would already have been hit), but it can
        happen
        when we merge two requests.
      
      This makes it a lot nicer, it was always peculiar how we cleared in
      put_request.
      c5868eb7
    • Jens Axboe's avatar
      [PATCH] make queue prep_rq_fn() a bit more powerful · 0717c0a9
      Jens Axboe authored
      Extend q->prep_rq_fn() to return one of three values:
      
       o BLKPREP_OK: request is good, return it
       o BLKPREP_KILL: request is bad, end it completely
       o BLKPREP_DEFER: request is good, but we can't take it now
      
      We maintain compatability with old prep functions (if any, outside of
      ide-cd). This change is needed or SCSI to use prep function for command
      init, if sg table allocation fails we can just defer the request.
      0717c0a9
    • Jens Axboe's avatar
      [PATCH] elv_add_request cleanups · 86b9d08b
      Jens Axboe authored
      Request insertion in the current tree is a mess. We have all sorts of
      variants of *elv_add_request*, and it's not at all clear who does what
      and with what locks (or not). This patch cleans it up to be:
      
      o __elv_add_request(queue, request, at_end, plug)
            Core function, requires queue lock to be held
      
      o elv_add_request(queue, request, at_end, plug)
            Like __elv_add_request(), but grabs queue lock
      
      o __elv_add_request_pos(queue, request, position)
            Insert request at a given location, lock must be held
      86b9d08b
  2. 04 Oct, 2002 1 commit
  3. 27 Sep, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] io scheduler update · 33fb2ab5
      Jens Axboe authored
      This fixes a problem with the deadline io scheduler, if the correct
      insertion point is at the front of the list.  This is something that we
      never have gotten right in 2.4 either.
      
      The problem is that the elevator merge function has to return a pointer
      to a struct request, and for front insert we really have to return the
      head of the list which cannot be expressed as a request of course.
      
      The real issue is that the elevator_merge function actually performs two
      functions - it scans for a merge, and if it can't find any, it selects
      and insertion point.  It's done this way for efficiency reasons, even if
      the design isn't all that clean.
      
      So we change the io scheduler merge functions to get passed a pointer to
      a list_head pointer instead.  This works for both inserts and merges.
      In addition, deadline checks if it really should insert at the very
      front.
      
      Also don't pass in request to elv_try_last_merge(), the very name of the
      function suggests that it's q->last_merge that we are interested in.
      33fb2ab5
  4. 26 Sep, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] deadline ioscheduler cleanups · 82c8a4cc
      Jens Axboe authored
      Some various small cleanups, optimizations, and fixes.
      
      o Make fifo_batch=32 as default, from testing this appears a good
        default value. We still get good throughput, and latency is good.
      
      o Reintroduce the merge_cleanup logic. We need it for deadline for
        rehashing requests when they have been merged.
      
      o Cleanup last_merge logic. Move it to the new elv_merged_request(),
        this is where it really belongs. Doing it inside the io scheduler core
        can causes false positives, when the queue merge functions reject an
        otherwise good merge
      
      o Have deadline_move_requests() account from last entry on the dispatch
        queue, if it is non-empty. It doesn't really matter what the last
        extracted sector was, if we are not right behind it.
      
      o Clean/optimize deadline_move_requests()
      
      o Account size of a request just a little bit. Streaming transfer isn't
        for free, it's just a lot cheaper than a seek.
      
      o Make deadline_check_fifo() more readable.
      82c8a4cc
  5. 25 Sep, 2002 1 commit
  6. 24 Sep, 2002 1 commit
  7. 16 Sep, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] fix elevator_linus accounting · 88c42974
      Jens Axboe authored
      elevator_linus is seriously broken wrt accounting. Marcelo recently took
      the patch to fix it in 2.4.20-pre, here's the 2.5 equiv.
      
      Right now, we account merges as costly and seeks as not. Only thing that
      prevents seek starvation is the aging scan. That is broken, very much
      so. This patch fixes that to account merges and inserts differently. A
      seek is ELV_LINUS_SEEK_COST more costly than a merge, currently that
      define is at '16'. Doing the math on a disk, this sort of makes sense.
      
      Defaults are read latency of 1024, which means 1024 merges or 64 seeks.
      Writes are double that.
      88c42974
  8. 10 Aug, 2002 1 commit
  9. 01 Aug, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] misc elevator/block updates · bba7c645
      Jens Axboe authored
      I've got a new i/o scheduler in testing, some changes where needed in
      the block layer to accomodate it. Basically because right now
      assumptions are made about q->queue_head being the sort list. The
      changes in detail:
      
      o elevator_merge_requests_fn takes queue argument as well
      
      o __make_request() inits insert_here to NULL instead of
        q->queue_head.prev, which means that the i/o schedulers must
        explicitly check for this condition now.
      
      o incorporate elv_queue_empty(), it was just a place holder before
      
      o add elv_get_sort_head(). it returns the sort head of the elevator for
        a given request. attempt_{back,front}_merge uses it to determine
        whether a request is valid or not. Maybe attempt_{back,front}_merge
        should just be killed, I doubt they have much relevance with the wake
        up batching.
      
      o call the merge_cleanup functions of the elevator _after_ the merge has
        been done, not before. This way the elevator functions get the new
        state of the request, which is the most interesting.
      
      o Kill extra nr_sectors check in ll_merge_requests_fn()
      
      o bi->bi_bdev is always set in __make_request(), so kill check.
      bba7c645
  10. 20 Jun, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] uninline elv_next_request() · 3ba0f211
      Jens Axboe authored
      Uninline elv_next_request() and move it to elevator.c, where it belongs.
      Because of CURRENT declaration, this actually saves lots of space.  From
      Andrew.
      3ba0f211
  11. 18 Jun, 2002 2 commits
    • Martin Schwidefsky's avatar
      [PATCH] 2.5.22: elevator exports. · 144d6034
      Martin Schwidefsky authored
      The dasd driver as a module needs to call elevator_init/elavator_exit to
      change the elevator algorithm to elevator_noop.
      144d6034
    • Andrew Morton's avatar
      [PATCH] take bio.h out of highmem.h · a28b4d4e
      Andrew Morton authored
      highmem.h includes bio.h, so just about every compilation unit in the
      kernel gets to process bio.h.
      
      The patch moves the BIO-related functions out of highmem.h and into
      bio-related headers.  The nested include is removed and all files which
      need to include bio.h now do so.
      a28b4d4e
  12. 25 Apr, 2002 1 commit
  13. 05 Apr, 2002 1 commit
    • Jens Axboe's avatar
      [PATCH] elevator 'buglet' · 90ffa646
      Jens Axboe authored
      Lets just kill this check -- it usually only catches drivers queueing
      something in front of a started request on their own (such as shoving a
      request sense in front of a failed packet command, for instance). So
      it's either working around this detection in some drivers, or killing
      it. I vote for the latter, patch attached against 2.5.8-pre1 :-)
      90ffa646
  14. 05 Feb, 2002 16 commits
    • Linus Torvalds's avatar
      v2.5.1.11 -> v2.5.2 · 5fb612aa
      Linus Torvalds authored
      - Matt Domsch: combine common crc32 library
      - Pete Zaitcev: ymfpci update
      - Davide Libenzi: scheduler improvements
      - Al Viro: almost there: "struct block_device *" everywhere
      - Richard Gooch: devfs cpqarray update, race fix
      - Rusty Russell: PATH_MAX should include the final '0' count
      - David Miller: various random updates (mainly net and sparc)
      5fb612aa
    • Linus Torvalds's avatar
      v2.5.1.6 -> v2.5.1.7 · 39769961
      Linus Torvalds authored
      - Jeff Garzik: fix up loop and md for struct kdev_t typechecking
      - Jeff Garzik: improved old-tulip network driver
      - Arnaldo: more scsi driver bio updates
      - Kai Germaschewski: ISDN updates
      - various: kdev_t updates
      39769961
    • Linus Torvalds's avatar
      v2.5.1.5 -> v2.5.1.6 · a914dd8b
      Linus Torvalds authored
      - Davide Libenzi: nicer timeslices for scheduler
      - Arnaldo: wd7000 scsi driver cleanups and bio update
      - Greg KH: USB update (including initial 2.0 support)
      - me: strict typechecking on "kdev_t"
      a914dd8b
    • Linus Torvalds's avatar
      v2.5.1.3 -> v2.5.1.4 · d0415686
      Linus Torvalds authored
      - Jens Axboe: more bio updates, fix some request list bogosity under load
      - Al Viro: export seq_xxx functions
      - Manfred Spraul: include file cleanups, pc110pad compile fix
      - David Woodhouse: fix JFFS2 write error handling
      - Dave Jones: start merging up with 2.4.x patches
      - Manfred Spraul: coredump fixes, FS event counter cleanups
      - me: fix SCSI CD-ROM sectorsize BIO breakage
      d0415686
    • Linus Torvalds's avatar
      v2.5.1.2 -> v2.5.1.3 · 25aa595a
      Linus Torvalds authored
      - Christoph Hellwig: scsi_register_module cleanup
      - Mikael Pettersson: apic.c LVTERR fixes
      - Russell King: ARM update (including bio update for icside)
      - Jens Axboe: more bio updates
      - Al Viro: make ready to switch bread away from kdev_t..
      - Davide Libenzi: scheduler cleanups
      - Anders Gustafsson: LVM fixes for bio
      - Richard Gooch: devfs update
      25aa595a
    • Linus Torvalds's avatar
      v2.5.1 -> v2.5.1.1 · 0925bad3
      Linus Torvalds authored
      - me: revert the "kill(-1..)" change.  POSIX isn't that clear on the
      issue anyway, and the new behaviour breaks things.
      - Jens Axboe: more bio updates
      - Al Viro: rd_load cleanups. hpfs mount fix, mount cleanups
      - Ingo Molnar: more raid updates
      - Jakub Jelinek: fix Linux/x86 confusion about arg passing of "save_v86_state" and "do_signal"
      - Trond Myklebust: fix NFS client race conditions
      0925bad3
    • Linus Torvalds's avatar
      v2.5.0.6 -> v2.5.0.7 · b54cee93
      Linus Torvalds authored
      - Jens Axboe: more bio fixes/cleanups/breakage ;)
      - Al Viro: superblock cleanups, boot/root mounting.
      b54cee93
    • 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.3 -> v2.5.0.4 · 40b1df3a
      Linus Torvalds authored
      - Jens Axboe: fix up bio highmem breakage, more cleanups
      - Greg KH: USB update
      40b1df3a
    • Linus Torvalds's avatar
      v2.5.0.2 -> v2.5.0.3 · 4d6c7b36
      Linus Torvalds authored
      - Al Viro: more superblock cleanups
      - Jens Axboe: more patches for new block IO layer
      - Christoph Hellwig: get rid of the old, long- deprecated SCSI error
      handling
      4d6c7b36
    • 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.6.8 -> v2.4.6.9 · 7b4d3039
      Linus Torvalds authored
        - Dan Quinlan: cramfs update
        - Ben Collins: IEEE 1394 update
        - David Miller: network update (pppoe, routing cache stats), sparc32 update
        - me: only dump core once per threaded app (first one wins)
        - me: use new completion handlers for block device requests (same race
        as with vfork, see -pre7)
      7b4d3039
    • Linus Torvalds's avatar
      v2.4.1.3 -> v2.4.1.4 · 2a7117ac
      Linus Torvalds authored
        - big S/390x 64-bit merge
        - typos and license name fixes. doc updates.
        - more include file cleanups (phase out "malloc.h")
        - even more elevator corner cases.. When not merging, find the best insertion point.
        - pmac ide update
        - network fixes (netif_wake_queue on tx timeout)
        - USB printer select() fix
        - NFS client missed initialization, deamon fixed client address check
      2a7117ac
    • Linus Torvalds's avatar
      v2.4.1.2 -> v2.4.1.3 · c8ebfc88
      Linus Torvalds authored
        - Jens: better ordering of requests when unable to merge
        - Neil Brown: make md work as a module again (we cannot autodetect
        in modules, not enough background information)
        - Neil Brown: raid5 SMP locking cleanups
        - Neil Brown: nfsd: handle Irix NFS clients named pipe behavior and
        dentry leak fix
        - maestro3 shutdown fix
        - fix dcache hash calculation that could cause bad hashes under certain
        circumstances (Dean Gaudet)
        - David Miller: networking and sparc updates
        - Jeff Garzik: include file cleanups
        - Andy Grover: ACPI update
        - Coda-fs error return fixes
        - rth: alpha Jensen update
      c8ebfc88
    • Linus Torvalds's avatar
      v2.4.0.4 -> v2.4.0.5 · 950a2b0b
      Linus Torvalds authored
        - ppp UP deadlock attack fix
      950a2b0b
    • Linus Torvalds's avatar
      Import changeset · 7a2deb32
      Linus Torvalds authored
      7a2deb32