1. 01 Aug, 2003 40 commits
    • Jeff Garzik's avatar
      Merge kernel.bkbits.net:net-drivers-2.6 · 0fa2e9bd
      Jeff Garzik authored
      into redhat.com:/garz/repo/net-drivers-2.6
      0fa2e9bd
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/gregkh/linux/linus-2.6 · a72d939d
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      a72d939d
    • Linus Torvalds's avatar
      Merge XFS updates. · 6e423ec5
      Linus Torvalds authored
      6e423ec5
    • Greg Kroah-Hartman's avatar
    • Andrew Morton's avatar
      [PATCH] cpu_idle() startup race fix · 49487a3d
      Andrew Morton authored
      Diagnosis from Christian Vogel <vogel@skunk.physik.uni-erlangen.de>
      
      cpu_idle() tests pm_idle() just once then falls into the
      
      	while (!need_resched())
      		idle();
      
      loop.
      
      Problem is, that loop never terminates (need_resched() always returns false
      on preemptive kernels).
      
      The other problem is that ACPI updates pm_idle _after_ cpu_idle() has taken a
      local copy.  So we always call default_idle(), even when pm_idle is pointing
      at a new idle handler.
      
      So fix it to pick up changed values of pm_idle() each time around the inner
      loop.
      49487a3d
    • Andrew Morton's avatar
      [PATCH] export install_page() to modules · 1dfe1754
      Andrew Morton authored
      install_page() is a library function which we expect will be used by all
      drivers which implement vm_operations.populate().  Therefore it should be
      exported to kernel modules.
      
      Petr Vandrovec has a project which involves sparse mappings of device memory
      which can use remap_file_pages().  It needs install_page().
      1dfe1754
    • Andrew Morton's avatar
      [PATCH] Watchdog: use module_param · 3420e0e6
      Andrew Morton authored
      From: Wim Van Sebroeck <wim@iguana.be>
      
      The first patch convert these watchdog modules to the new module_param syntax.
      
      The second patch fixes machzwd.c (you need to declare the variable before
      using the module_param subroutine).
      3420e0e6
    • Andrew Morton's avatar
      [PATCH] ftl.c warning fix · 9c2a5b7c
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      A 16bit number can _never_ be > 65536.  So don't bother to check for it.
      9c2a5b7c
    • Andrew Morton's avatar
      [PATCH] serial drivers are not experimental · ac0151e3
      Andrew Morton authored
      From: Andries.Brouwer@cwi.nl
      
      A few days ago I needed a serial line and couldnt find the option in
      menuconfig.  Turned out that SERIAL_8250 depends on EXPERIMENTAL.  I
      suppose that dependence should be removed.
      ac0151e3
    • Andrew Morton's avatar
      [PATCH] dscc4 compile fix for hdlc · e2ce67e9
      Andrew Morton authored
      From: Francois Romieu <romieu@fr.zoreil.com>
      
      The wan driver I maintain was hit by hdlc changes too. Please
      apply patch below. It is diffed against plain -test2 but it
      applies equally as well against -test2-mm2.
      
      More important changes will come in a near future for this
      driver but I'd rather keep the changes separated.
      
      Description:
      - after the hdlc changes, dscc4 module doesn't need to set
        hdlc->proto(.id) itself anymore;
      - MOD_{INC/DEC}_USE_COUNT removal;
      - SET_NETDEV_DEV() use;
      e2ce67e9
    • Andrew Morton's avatar
      [PATCH] generic HDLC updates · 6e28ae46
      Andrew Morton authored
      From: Krzysztof Halasa <khc@pm.waw.pl>
      
      The following patch upgrades generic HDLC to support "new" protocol
      handlers.
      6e28ae46
    • Andrew Morton's avatar
      [PATCH] IPMI build fix · a51ae743
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      Fix ACPI compile error if doing processor probing only: acpi_find_bmc is
      only available #ifdef CONFIG_ACPI_INTERPRETER.
      a51ae743
    • Andrew Morton's avatar
      [PATCH] export agp_memory_reserved · 4c0c1725
      Andrew Morton authored
      nvidia-agp needs it.
      4c0c1725
    • Andrew Morton's avatar
      [PATCH] i810fb oops fix · 3dd9a2ff
      Andrew Morton authored
      The module device table is not NULL-terminated, so we run off the end during
      probing and oops.
      
      Also, move all those static decls out of .h and into .c
      3dd9a2ff
    • Andrew Morton's avatar
      [PATCH] quota typo fix · efc0596c
      Andrew Morton authored
      From: Herbert Potzl <herbert@13thfloor.at>
      
      quota.h typo fix
      efc0596c
    • Andrew Morton's avatar
      [PATCH] Fix dac960 for devfs · 6a740541
      Andrew Morton authored
      From: Dave Olien <dmo@osdl.org>
      
      It wasn't initializing the devfs_name member of the gendisk structures to
      contain the root name of the logical disk.
      6a740541
    • Andrew Morton's avatar
      [PATCH] binfmt_script argv[0] fix · 867c7a0a
      Andrew Morton authored
      From: Arun Sharma <arun.sharma@intel.com>
      
      A script such as
      
        #!/bin/foo.bar
        ...
      
      where /bin/foo.bar is handled by binfmt_misc, is not handled correctly i.e.
      the interpreter of foo.bar doesn't receive the correct arguments.
      
      The binfmt_misc handler requires that bprm->filename is appropriately
      filled so that the argv[1] could be correctly passed to the interpreter.
      
      However, binfmt_script, as it exists today doesn't populate bprm->filename
      correctly.
      
      Another motivation for this patch is the output of ps.  Emulators which use
      binfmt_misc may want to keep the output of ps consistent with native
      execution.  This requires preserving bprm->filename.  The attached patch
      guarantees this even if we have to go through several binfmt handlers
      (think of finite loops involving binfmt_script and binfmt_misc).
      867c7a0a
    • Andrew Morton's avatar
      [PATCH] pc300_drv build fix · f4f980fb
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      Fix compile error introduced by the HDLC update.
      f4f980fb
    • Andrew Morton's avatar
      [PATCH] com20020_cs.c doesn't compile · 10aeaa6e
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      drivers/net/pcmcia/com20020_cs.c wasn't updated to the module owner
      field changes
      10aeaa6e
    • Andrew Morton's avatar
      [PATCH] uidhash init-time locking · 47f7edc1
      Andrew Morton authored
      From: <ffrederick@prov-liege.be>
      
      Add the necessary locking around uid_hash_insert() in uid_cache_init().
      
      (It's an initcall, and the chances of another CPU racing with us here are
      basically zero.  But it's good for documentary purposes and the code gets
      dropped later anyway...)
      47f7edc1
    • Andrew Morton's avatar
      [PATCH] Move the special_file() definition · cbc8594c
      Andrew Morton authored
      From: <ffrederick@prov-liege.be>
      
      The special_file() macro is being duplicated in JFS.  Move it to fs.h.
      cbc8594c
    • Andrew Morton's avatar
      [PATCH] fix read_dir() · 7a6fbd69
      Andrew Morton authored
      This function tries to allocate increasingly large buffers, but it gets the
      bounds wrong by a factor of PAGE_SIZE.  It causes boot-time devfs mounting
      to fail.
      7a6fbd69
    • Andrew Morton's avatar
      [PATCH] ext3: fix commit assertion failure · b84ee08e
      Andrew Morton authored
      We're getting asserion failures in commit in data=journal mode.
      
      journal_unmap_buffer() has unexpectedly donated this buffer to the committing
      transaction, and the commit-time assertion doesn't expect that to happen.  It
      doesn't happen in 2.4 because both paths are under lock_journal().
      
      Simply remove the assertion: the commit code will uncheckpoint the buffer and
      then recheckpoint it if needed.
      b84ee08e
    • Andrew Morton's avatar
      [PATCH] fix ip_conntrack_core.h compile error · 01b1174f
      Andrew Morton authored
      From: Felipe Alfaro Solana <felipe_alfaro@linuxmail.org>
      
      Fix compile error in 2.6.0-test2 when Netfilter IP connection tracking
      is enabled.
      01b1174f
    • Andrew Morton's avatar
      [PATCH] fix select() with an xoffed tty · 791c4b04
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      Eli Barzilay noticed that select() for tty devices is broken: For
      stopped tty devices, select says POLLOUT and write fails with -EAGAIN.
      
          http://marc.theaimsgroup.com/?l=linux-kernel&m=105902461110282&w=2
      
      I've tracked this back to normal_poll in drivers/char/n_tty.c:
      
       > if (tty->driver->chars_in_buffer(tty) < WAKEUP_CHARS)
       >                mask |= POLLOUT | POLLWRNORM;
      
      It assumes that a following write will succeed if less than 256 bytes
      are in the write buffer right now. This assumption is wrong for
      con_write_room: if the console is stopped, it returns 0 bytes buffer
      size (con_write_room()). Ditto for pty_write_room.
      791c4b04
    • Andrew Morton's avatar
      [PATCH] Fix ipt_helper compilation · a74ccc26
      Andrew Morton authored
      From: florin@iucha.net (Florin Iucha)
      
      Fix compilation of net/ipv4/netfilter/ipt_helper.c by including the
      proper header files.
      a74ccc26
    • Andrew Morton's avatar
      [PATCH] direct-io support for XFS unwritten extents · 359a5de1
      Andrew Morton authored
      From: Nathan Scott <nathans@sgi.com>
      
      This patch adds a mechanism by which a filesystem can register an interest in
      the completion of direct I/O.  The completion routine will be given the
      inode, an offset and a length, and an optional filesystem-private field.
      
      We have extended the use of the buffer_head-based interface (i.e.
      get_block_t) for direct I/O such that the b_private field is now utilised.
      It is defined to be initially zero at the start of I/O, and will be passed
      into the filesystem unmodified by the VFS with each map request, while
      setting up the direct I/O.  Once I/O has completed the final value of this
      pointer will be passed into a filesystems I/O completion handler.  This
      mechanism can be used to keep track of all of the mapping requests which
      encompass an individual direct I/O request.
      
      This has been implemented specifically for XFS, but is done so as to be as
      generic as possible.  XFS uses this mechanism to provide support for
      unwritten extents - these are file extents which have been pre-allocated
      on-disk, but not yet written to (once written, these become regular file
      extents, but only once I/O is complete).
      359a5de1
    • Andrew Morton's avatar
      [PATCH] vmscan: use zone_pressure for page unmapping · 14d927a3
      Andrew Morton authored
      From: Nikita Danilov <Nikita@Namesys.COM>
      
      Use zone->pressure (rathar than scanning priority) to determine when to
      start reclaiming mapped pages in refill_inactive_zone().  When using
      priority every call to try_to_free_pages() starts with scanning parts of
      active list and skipping mapped pages (because reclaim_mapped evaluates to
      0 on low priorities) no matter how high memory pressure is.
      14d927a3
    • Andrew Morton's avatar
      [PATCH] vmscan: decaying average of zone pressure · ecbeb4b2
      Andrew Morton authored
      From: Nikita Danilov <Nikita@Namesys.COM>
      
      The vmscan logic at present will scan the inactive list with increasing
      priority until a threshold is triggered.  At that threshold we start
      unmapping pages from pagetables.
      
      The problem is that each time someone calls into this code, the priority is
      initially low, so some mapped pages will be refiled event hough we really
      should be unmapping them now.
      
      Nikita's patch adds the `pressure' field to struct zone.  it is a decaying
      average of the zone's memory pressure and allows us to start unmapping pages
      immediately on entry to page reclaim, based on measurements which were made
      in earlier reclaim attempts.
      ecbeb4b2
    • Alan Stern's avatar
      [PATCH] USB: Remove usb_set_maxpacket() · 65a40f8a
      Alan Stern authored
      This is the final part of as66c.  It removes the usb_set_maxpacket()
      routine, since the same functionality now exists elsewhere.  The one place
      it was used was in the device reset pathway for a device that has changed
      somehow since the previous reset.  That code needs to be fixed up anyway;
      for now it's enough just to have it call usb_set_configuration().
      65a40f8a
    • Andrew Morton's avatar
      [PATCH] fix kswapd throttling · 00401a44
      Andrew Morton authored
      kswapd currently takes a throttling nap even if it freed all the pages it
      was asked to free.
      
      Change it so we only throttle if reclaim is not being sufficiently
      successful.
      00401a44
    • David Brownell's avatar
      [PATCH] USB: hcd initialization fix · f8159fb5
      David Brownell authored
      This cleans up HCD initialization by adding an explicit
      reset step, putting the device into a known state before
      resources are allocated.  This step is implemented for
      EHCI, since some BIOS firmware seems to act quirky there,
      but nothing else yet.  (OHCI would be just easy too.)
      f8159fb5
    • Andrew Morton's avatar
      [PATCH] use mark_page_accessed() in the write() path · ed8ff7a4
      Andrew Morton authored
      We're currently just setting the referenced bit when modifying pagecache in
      write().
      
      Consequently overwritten (and redirtied) pages are remaining on the inactive
      list.  The net result is that a lot of dirty pages are reaching the tail of
      the LRU in page reclaim and are getting written via the writepage() in there.
      
      But a core design objective is to minimise the amount of IO via that path,
      and to maximise the amount of IO via balance_dirty_pages().  Because the
      latter has better IO patterns.
      
      This may explain the bad IO patterns which Gerrit talked about at KS.
      ed8ff7a4
    • Andrew Morton's avatar
      [PATCH] devfs_lookup stack corruption fix rework · 9f49f9f3
      Andrew Morton authored
      From: Andrey Borzenkov <arvidjaar@mail.ru>
      
      A while back Andrey fixed a devfs bug in which we were running
      remove_wait_queue() against a wait_queue_head which was on another process's
      stack, and which had gone out of scope.
      
      The patch reverts that fix and does it the same way as 2.4: just leave the
      waitqueue struct dangling on the waitqueue_head: there is no need to touch it
      at all.
      
      It adds a big comment explaining why we are doing this nasty thing.
      9f49f9f3
    • Andrew Morton's avatar
      [PATCH] 6PACK asumes HZ=100 · 74b0ab1b
      Andrew Morton authored
      From: Hans-Joachim Hetscher <me@privacy.net>
      
      the Hamradio 6pack driver wasn't modified to work with the 1000 HZ
      internal kernel timebase.
      74b0ab1b
    • Andrew Morton's avatar
      [PATCH] soundcard.c devfs fix · 6107a647
      Andrew Morton authored
      It is using "snd".  It should be using "sound".
      6107a647
    • Andrew Morton's avatar
      [PATCH] fix alloc_bootmem_low_pages · 7821370f
      Andrew Morton authored
      From: jbarnes@sgi.com (Jesse Barnes)
      
      This patch is needed for some discontig boxes since the memory maps may
      be built out-of-order.
      7821370f
    • Andrew Morton's avatar
      [PATCH] ext3: don't start a commit in write_super() · 9f280843
      Andrew Morton authored
      From: bzzz@tmi.comex.ru
      
      Now we have sync_fs(), the kludge of using write_super() to detect when the
      VFS is trying to sync the fs is unneeded.
      
      With this change we don't accidentally run commits in response to kupdate
      and bdflush activity and it speedup up some heavy workloads significantly.
      9f280843
    • Andrew Morton's avatar
      [PATCH] Fix race in ext3_getblk · 77b070cb
      Andrew Morton authored
      From: Alex Tomas <bzzz@tmi.comex.ru>
      
      ext3_getblk() memsets a newly allocated buffer, but forgets to check
      whether a different thread brought it uptodate while we waited for the
      buffer lock.
      
      It's OK normally because we're serialised by the page lock.  But lustre
      apparently is doing something different with getblk and hits this race.
      
      Plus I suspect it's racy with competing O_DIRECT writes.
      77b070cb
    • Andrew Morton's avatar
      [PATCH] ext3: avoid reading empty inode blocks · bca17d03
      Andrew Morton authored
      From: Alex Tomas <bzzz@tmi.comex.ru>
      
      ext3_get_inode_loc() read inode's block only if:
      
        1) this inode has no copy in memory
        2) inode's block has another valid inode(s)
      
      this optimization allows to avoid needless I/O in two cases:
      
      1) just allocated inode is first valid in the inode's block
      
      2) kernel wants to write inode, but buffer in which inode
         belongs to gets freed by VM
      bca17d03