1. 10 Sep, 2002 12 commits
    • Andrew Morton's avatar
      [PATCH] discontigmem code cleanup #1 · 79a96230
      Andrew Morton authored
      Patch from Martin Bligh.
      
      "This mainly changes the PLAT_MY_MACRO_IS_ALL_CAPS() stuff to be
       normal_macro(), and takes out some unnecessary redirection of function
       names.  No functionality changes, nothing touched outside i386
       discontigmem ...  just makes code readable.  Rumour has it that the
       PLAT_* stuff came from IRIX - I don't see that as a good reason to make
       the Linux code unreadable.  Tested on 16-way NUMA-Q."
      79a96230
    • Andrew Morton's avatar
      [PATCH] exact dirty state accounting · 1f90eedd
      Andrew Morton authored
      Some adjustments to global dirty page accounting.
      
      Previously, dirty page accounting counted all dirty pages.  Even dirty
      anonymous pages.  This has potential to upset the throttling logic in
      balance_dirty_pages().  Particularly as I suspect we should decrease
      the dirty memory writeback thresholds by a lot.
      
      So this patch changes it so that we only account for dirty pagecache
      pages which have backing store.  Not anonymous pages, not swapcache,
      not in-memory filesystem pages.
      
      To support this, the `memory_backed' boolean has been added to struct
      backing_dev_info.  When an address space's backing device is marked as
      memory-backed, the core kernel knows to not include that mapping's
      pages in the dirty memory accounting.
      
      For memory-backed mappings, dirtiness is a way of pinning the page, and
      there's nothing the kernel can to do clean the page to make it freeable.
      
      driverfs, tmpfs, and ranfs have been coverted to mark their mappings as
      memory-backed.
      
      The ramdisk driver hasn't been converted.  I have a separate patch for
      ramdisk, which fails to fix the longstanding problems in there :(
      
      With this patch, /bin/sync now sends /proc/meminfo:Dirty to zero, which
      is rather comforting.
      1f90eedd
    • Andrew Morton's avatar
      [PATCH] pass the correct flags to aops->releasepage() · 6a0fb424
      Andrew Morton authored
      Restore the gfp_mask in the VM's call to a_ops->releasepage().  We can
      block in there again, and XFS (at least) can use that.
      6a0fb424
    • Andrew Morton's avatar
      [PATCH] writer throttling fix · 95b88300
      Andrew Morton authored
      The patch fixes a few problems in the writer throttling code.  Mainly
      in the situation where a single large file is being written out.
      
      That file could be parked on sb->locked_inodes due to pdflush
      writeback, and the writer throttling path coming out of
      balance_dirty_pages() forgot to look for inodes on ->locked_inodes.
      
      The net effect was that the amount of dirty memory was exceeding the
      limit set in /proc/sys/vm/dirty_async_ratio, possibly to the point
      where the system gets seriously choked.
      
      The patch removes sb->locked_inodes altogether and teaches the
      throttling code to look for inodes on sb->s_io as well as sb->s_dirty.
      
      Also, just leave unwritten dirty pages on mapping->io_pages, and
      unwritten dirty inodes on sb->s_io.  Putting them back onto
      ->dirty_pages and ->dirty_inodes was fairly pointless, given that both
      lists need to be looked at.
      95b88300
    • Ingo Molnar's avatar
      [PATCH] Re: do_syslog/__down_trylock lockup in current BK · 0d8b3b44
      Ingo Molnar authored
      This fixes the lockup.
      
      The bug happened because reparenting in the CLONE_THREAD case was done in
      a fundamentally non-atomic way, which was asking for various races to
      happen: eg. the target parent gets reparented to the currently exiting
      thread ...
      
      (the non-CLONE_THREAD case is safe because nothing reparents init.)
      
      the solution is to make all of reparenting atomic (including the
      forget_original_parent() bit) - this is possible with some reorganization
      done in signal.c and exit.c. This also made some of the loops simpler.
      0d8b3b44
    • Alexander Viro's avatar
      [PATCH] Missing IDE partition 3 of 3 on 2.5.34 · 8fb345bd
      Alexander Viro authored
      devfs side fixed thus:
      8fb345bd
    • Jens Axboe's avatar
      [PATCH] hdreg command updates etc · f1c84a2e
      Jens Axboe authored
      Update hdreg to match 2.4 levels.
      
      o Use consistent SRV_STAT instead of SERVICE_STAT
      o Add sector count status bits for tcq
      o Add various missing commands
      o hd_driveid update
      f1c84a2e
    • Jens Axboe's avatar
      [PATCH] IDE pci ids · 8930eafc
      Jens Axboe authored
      Update IDE pci ids to match 2.4.20-pre5-ac4 levels.
      8930eafc
    • Jens Axboe's avatar
      [PATCH] blk_fs_request() · 4372b607
      Jens Axboe authored
      Add blk_fs_request(rq) to avoid testing rq->flags & REQ_CMD directly.
      4372b607
    • Jens Axboe's avatar
      [PATCH] PCI individual resource handling · e47901f9
      Jens Axboe authored
      This merges the changes from 2.4-ac that allow drivers to enable (and
      mark as used) only a subset of PCI resources, for those drivers that
      need it (at this point apparently only the i845 IDE controller).
      e47901f9
    • Mikael Pettersson's avatar
      [PATCH] undo 2.5.34 ftape damage · ac9c060c
      Mikael Pettersson authored
      In the 2.5.33->2.5.34 step someone removed "export-objs" from
      drivers/char/ftape/lowlevel/Makefile, which makes it impossible to build
      ftape as a module since is _does_ have a number of EXPORT_SYMBOL's.
      
      This reverts that change.
      ac9c060c
    • Mikael Pettersson's avatar
      [PATCH] 2.5.34 floppy driver init/exit fixes · 9d1f9419
      Mikael Pettersson authored
      The 2.5 floppy driver has for a long time has two init/exit bugs:
      1. It calls register_sys_device() on init, but fails to call
         unregister_sys_device() in exit. This leads to data structure
         corruption if floppy is a module and it gets unloaded.
      2. If calls register_sys_device() early on init, but fails to call
         unregister_sys_device() if init fails. Again, this leads to
         data structure corruption.
      
      The patch below fixes both these problems.
      9d1f9419
  2. 09 Sep, 2002 28 commits