1. 25 Sep, 2002 5 commits
  2. 24 Sep, 2002 5 commits
  3. 23 Sep, 2002 18 commits
  4. 22 Sep, 2002 12 commits
    • Kai Germaschewski's avatar
      Merge zephyr:src/kernel/v2.5/linux-2.5.isdn · 53fcb937
      Kai Germaschewski authored
      into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn
      53fcb937
    • Kai Germaschewski's avatar
      ISDN: Lock list of phone numbers appropriately · cd2d00c6
      Kai Germaschewski authored
      It was (only partially) protected by cli() before, which we want to
      get rid of.
      cd2d00c6
    • Kai Germaschewski's avatar
      ISDN: Use <linux/list.h> for list of phone numbers · 51430a3c
      Kai Germaschewski authored
      Simplifies the code which was previously using an open coded
      singly linked list.
      
      Also, deleting a phone number during dial-out could easily oops
      the kernel before this patch.
      51430a3c
    • Kai Germaschewski's avatar
      ISDN: ISDN_GLOBAL_STOPPED cleanup · 7e22da6a
      Kai Germaschewski authored
      ISDN_GLOBAL_STOPPED is a way to globally stop the system
      from dialing out / accepting incoming calls. Instead of
      spreading checks all over the place, just catch dial
      commands / incoming call indications in one place.
      
      Also, kill isdn_net_phone typedef and clean up affected code.
      7e22da6a
    • Kai Germaschewski's avatar
      ISDN: Kill isdn_net_autohup() · 2a002db2
      Kai Germaschewski authored
      It's not used for the timeout controlled hangup anymore, only to
      hangup depending on the dialmode, which we handle directly now.
      2a002db2
    • Kai Germaschewski's avatar
      ISDN: PPP cleanups · 79deb1f1
      Kai Germaschewski authored
      o PPP_IPX is defined in a header these days
      o isdn_net_hangup takes an isdn_net_local *, simplifying
        code a bit.
      79deb1f1
    • Kai Germaschewski's avatar
      Merge tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn · 967ee5ae
      Kai Germaschewski authored
      into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.make
      967ee5ae
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/davem/BK/sparc-2.5 · f20bf018
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      f20bf018
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/davem/BK/net-2.5 · e7144e64
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      e7144e64
    • Andrew Morton's avatar
      [PATCH] low-latency page reclaim · 407ee6c8
      Andrew Morton authored
      Convert the VM to not wait on other people's dirty data.
      
       - If we find a dirty page and its queue is not congested, do some writeback.
      
       - If we find a dirty page and its queue _is_ congested then just
         refile the page.
      
       - If we find a PageWriteback page then just refile the page.
      
       - There is additional throttling for write(2) callers.  Within
         generic_file_write(), record their backing queue in ->current.
         Within page reclaim, if this tasks encounters a page which is dirty
         or under writeback onthis queue, block on it.  This gives some more
         writer throttling and reduces the page refiling frequency.
      
      It's somewhat CPU expensive - under really heavy load we only get a 50%
      reclaim rate in pages coming off the tail of the LRU.  This can be
      fixed by splitting the inactive list into reclaimable and
      non-reclaimable lists.  But the CPU load isn't too bad, and latency is
      much, much more important in these situations.
      
      Example: with `mem=512m', running 4 instances of `dbench 100', 2.5.34
      took 35 minutes to compile a kernel.  With this patch, it took three
      minutes, 45 seconds.
      
      I haven't done swapcache or MAP_SHARED pages yet.  If there's tons of
      dirty swapcache or mmap data around we still stall heavily in page
      reclaim.  That's less important.
      
      This patch also has a tweak for swapless machines: don't even bother
      bringing anon pages onto the inactive list if there is no swap online.
      407ee6c8
    • Andrew Morton's avatar
      [PATCH] use the congestion APIs in pdflush · c9b22619
      Andrew Morton authored
      The key concept here is that pdflush does not block on request queues
      any more.  Instead, it circulates across the queues, keeping any
      non-congested queues full of write data.  When all queues are full,
      pdflush takes a nap, to be woken when *any* queue exits write
      congestion.
      
      This code can keep sixty spindles saturated - we've never been able to
      do that before.
      
       - Add the `nonblocking' flag to struct writeback_control, and teach
         the writeback paths to honour it.
      
       - Add the `encountered_congestion' flag to struct writeback_control
         and teach the writeback paths to set it.
      
      So as soon as a mapping's backing_dev_info indicates that it is getting
      congested, bale out of writeback.  And don't even start writeback
      against filesystems whose queues are congested.
      
       - Convert pdflush's background_writeback() function to use
         nonblocking writeback.
      
      This way, a single pdflush thread will circulate around all the
      dirty queues, keeping them filled.
      
       - Convert the pdlfush `kupdate' function to do the same thing.
      
      This solves the problem of pdflush thread pool exhaustion.
      
      It solves the problem of pdflush startup latency.
      
      It solves the (minor) problem wherein `kupdate' writeback only writes
      back a single disk at a time (it was getting blocked on each queue in
      turn).
      
      It probably means that we only ever need a single pdflush thread.
      c9b22619
    • Andrew Morton's avatar
      [PATCH] use the queue congestion API in ext2_preread_inode() · f3332384
      Andrew Morton authored
      Use the new queue congestion detector in ext2_preread_inode().  Don't
      try the speculative read if the read queue is congested.
      
      Also, don't try it if the disk is write-congested.  Presumably it is
      more important to get the dirty memory cleaned out.
      f3332384