1. 19 Jan, 2004 40 commits
    • Andrew Morton's avatar
      [PATCH] Add bdev private field · 7766a93b
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      Currently xfs has a per-bdev (and XFS filesystem uses up to three underlying
      block devices) object that Al complained about loudly that it should be gone.
      
      But for that to happen without rewriting half of XFS (and changing layering
      in a way that we don't really want) we need an additional fs-private variable
      in struct block_device.
      7766a93b
    • Andrew Morton's avatar
      [PATCH] tmpfs readdir does not update dir atime · 175770e5
      Andrew Morton authored
      From: mark@borgerding.net
      
      Access times of tmpfs dirs do not get updated on readdir.  This can cause
      empty dirs to get tmpwatch'd too early, b/c atime never changes even though
      the dir is in use.
      175770e5
    • Andrew Morton's avatar
      [PATCH] Fix statically declare FIXMAPs · eb4f6fb9
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>, me.
      
      Two uses of the FIXADDR_USER_START/END things are problematic:
      
      a) ppc64 wants the FIXADDR area to be at a different location on 32bit and
         64bit tasks.  On 32bit we want it just below 4GB but that gets in the way
         on 64bit.  By putting both right at -(some small amount) we can also use
         some ppc tricks to get there real quickly (single instruction branches).
      
      b) We assume that FIXADDR_USER_START and FIXADDR_USER_END are constants.
         This breaks the UML build.
      
      Fixes:
      
      - Call it all gate. We currently have half the stuff called fixmap and
        the other gate, lets be consistent.
      
      - Create in_gate_area(), get_gate_vma() and use it in both places
      
      - Provide defaults for in_gate_area/get_gate_vma, allowing an arch to
        override it. (I used CONFIG_* but am open to better suggestions here)
      
      - The /proc/pid/maps vma wasnt marked readable but the get_user
        vma was. That sounds suspicious to me, they are now both the same VMA
        and so have the same (read,exec) permissions
      eb4f6fb9
    • Andrew Morton's avatar
      [PATCH] Alpha: make prefetch_spinlock() a no-op on UP · 3ab88352
      Andrew Morton authored
      From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      
      When CONFIG_SMP is not set, spinlock_t is an empty structure, so its
      address has arbitrary alignment.
      
      The prefetch instructions with unaligned address don't have visible side
      effects on alphas with SRM console (except performance degradation) - the
      PALcode handles unaligned traps caused by prefetch instructions internally.
      However, on old AlphaBIOS/MILO boxes unaligned prefetch leads to unhandled
      alignment trap and kernel panic.
      3ab88352
    • Andrew Morton's avatar
      [PATCH] suspend/resume support for PIT · 68cfa179
      Andrew Morton authored
      From: Pavel Machek <pavel@ucw.cz>
      
      This adds proper suspend/resume support for PIT.  That means that clock are
      actually correct after suspend/resume.
      68cfa179
    • Andrew Morton's avatar
      [PATCH] fix up CPU detection in p4-clockmod · 7f6060e8
      Andrew Morton authored
      From: Dominik Brodowski <linux@dominikbrodowski.de>
      
      Too many users use the p4-clockmod cpufreq driver instead of the more
      advanced speedstep-centrino, speedstep-ich or even acpi drivers.  All of
      the latter (usually) provide voltage scaling, while the p4-clockmod driver
      only offers a variant of frequency scaling.  So, warn users if they try out
      this driver instead.
      
      Also, instead of using a local copy, use the speedstep_lib infrastructure
      for detecting the processor speed.  Adding the Pentium-M get_frequency
      function to that module only costs about 200 bytes in object size.
      7f6060e8
    • Andrew Morton's avatar
      [PATCH] kconfig: fix menuconfig exit code · 6dd6551e
      Andrew Morton authored
      From: Sam Ravnborg <sam@ravnborg.org>
      
      If the user decides to not write the config file out, menuconfig exits with
      a non-zero code.  This causes make to allege that there was an error.
      6dd6551e
    • Andrew Morton's avatar
      [PATCH] revert lazy readahead · ded29eb1
      Andrew Morton authored
      From: Trond Myklebust <trond.myklebust@fys.uio.no>
      
      The following reversion is what fixes my regression.  That puts the
      sequential read numbers back to the 2.6.0 values of ~140MB/sec (from the
      current 2.6.1 values of 14MB/second)...
      
      We were triggering I/O of the `ahead' when we hit the last page in the
      `current' window.  That's bad because it gives no pipelining at all.
      
      So go back to full pipelining.
      
      It's not at all clear why this change made a 10x difference in NFS
      throughput.
      ded29eb1
    • Andrew Morton's avatar
      [PATCH] readahead part-backout · 2fd50585
      Andrew Morton authored
      From: Ram Pai <linuxram@us.ibm.com>
      
      Remove the up-front readahead code from the core pagecache read
      function: it's really bad for large reads.
      2fd50585
    • Andrew Morton's avatar
      [PATCH] vmscan: initialize zone->{prev,temp}_priority · f1933a6d
      Andrew Morton authored
      From: Nikita Danilov <Nikita@Namesys.COM>
      
      This patch initializes zone->{prev,temp}_priority to DEF_PRIORITY.
      Otherwise they are left zeroed, and first run of VM scanner thinks that
      zones are under enormous stress.
      f1933a6d
    • Andrew Morton's avatar
      [PATCH] bio documentation update · 8e05ea56
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      Although it was an established part of the current bio api, it was never
      documented that bio_add_page() and merge_bvec_fn() must accept to add at
      least one page to an empty bio.
      8e05ea56
    • Andrew Morton's avatar
      [PATCH] Kconfig: use range for NR_CPUS · f5ace166
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      The 2.6 Kconfig language allows to set the range for integer questions.
      
      The patch below adds a range line on all architectures that have a
      NR_CPUS question except ia64.
      
      The help text on ia64 didn't suggest any values. Could someone tell the 
      correct values for ia64 (and if it's only a minimum value of 2)?
      f5ace166
    • Andrew Morton's avatar
      [PATCH] Fix Documentation/SubmittingPatches to use -p · 9a7d8a46
      Andrew Morton authored
      From: "Martin J. Bligh" <mbligh@aracnet.com>
      
      Patches are a damned sight easier to read if people use the '-p'
      option to diff ... this generates output that looks like this:
      
       "@@ -323,6 +323,7 @@ void put_dirty_page(struct task_struct *"
      
      for each block. This patch simply adds that to the documentation
      file, in the hope of steering new users in the right direction.
      9a7d8a46
    • Andrew Morton's avatar
      [PATCH] ppc32: OF bootwrapper support · 55641647
      Andrew Morton authored
      From: Tom Rini <trini@kernel.crashing.org>
      
      Re-add support to the bootwrapper for talking with OF on PReP machines. 
      This fixes memory detection of some machines.
      55641647
    • Andrew Morton's avatar
      [PATCH] Relocation overflow with modules on Alpha · 3b7501ef
      Andrew Morton authored
      From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      
      Larger modules fail to load with the message "Relocation overflow vs
      section 17", or some other section number.
      
      This failure happens with GPRELHIGH relocation, which is *signed* short,
      but relocation overflow check in module.c doesn't take into account the
      sign extension.
      3b7501ef
    • Andrew Morton's avatar
      [PATCH] Identify RADEON Yd in radeonfb · 21c7c9d2
      Andrew Morton authored
      From: Bernardo Innocenti <bernie@develer.com>
      
      Identify a recent Radeon video card in radeonfb.
      21c7c9d2
    • Andrew Morton's avatar
      [PATCH] Simplify node/zone field in page->flags · 490d4075
      Andrew Morton authored
      From: Matthew Dobson <colpatch@us.ibm.com>
      
      This patch does the following:
      1) Rename ZONE_SHIFT to NODEZONE_SHIFT.  This value is the number
          of bits to shift page->flags to get the node/zone part of the
          bitfield.
      2) Add a macro called NODEZONE which takes a node number and zone number
          and returns a 'nodezone', a bitshifted composition of the two.
      3) Create page_zonenum & page_nodenum, inline functions to return the
          node/zone a page belongs to with some simple bit twiddling, no
          pointer dereferences necessary.
      4) Modify page_zone() and set_page_zone() to use the new NODEZONE_SHIFT.
      5) Modify memmap_init_zone() & free_area_init_core() to use the new
          NODEZONE macros.
      6) Fix up some comments to reflect the above changes.
      490d4075
    • Andrew Morton's avatar
      [PATCH] RTC leaks. · 4685ee17
      Andrew Morton authored
      From: Russell King, Tom Rini, Dave Jones
      
      As plugged in 2.4 recently.
      
      Fix some leakage of uninitialised memory to userspace via rtc reads.
      4685ee17
    • Andrew Morton's avatar
      [PATCH] clarify meaning of bio fields in the end_io function · 1fbe06d4
      Andrew Morton authored
      From: Christophe Saout <christophe@saout.de>
      
      The intent of these are to clarify the meaning of the bio fields in the
      bi_end_io function (since we are already mostly there).  After these small
      modifications bio->bi_idx and the corresponding bio_iovec(bio)->bv_offset
      point to the beginning of the completed data, together with the nr_bytes
      argument you know exactly what data was finished, e.g.  when you can't
      track it otherwise (or it would be unnecessary expensive).  Apart from that
      it's a nice-to-have.
      
      The first mini-patch moves the update of bio_iovec(bio)->bv_offset and
      ->bv_len after the call of bi_end_io where bi_idx gets updated so they get
      updated together.  Ok with Jens.
      
      The second part of the patch modifies the multwrite hack in PIO non-
      taskfile ide disk code.  It modifies the bi_idx field to walk the bios and
      doesn't reset it correctly before ending the request.  The patch uses the
      segment counter in the request field to correctly restore the bi_idx field
      before ending the request.  Can't possibly break anything since it's
      working on the local request copy ("scratchpad") anyway.  Also does this in
      legacy/pdc4030.c (similar code).  The code modified here is going to die
      anyway any trying to fix it would be too invasive.  Ok with Bartlomiej.
      1fbe06d4
    • Andrew Morton's avatar
      [PATCH] Optimize proc_pid_lookup · 9c02379c
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      readdir on /proc has two problems: reading all entries is O(N^2), and
      entries are overlooked if tasks die in the middle of readdir: the readdir
      implementation remembers the offset into the task list, and if a task
      (actually: process) that was returned by previous readdir calls exits, then
      a random entry is dropped.
      
      The attached patch fixes the O(N^2) by using f_version to store the pid of
      the task that should be returned next.  This speeds up reading /proc to
      O(N).  Additionally, it mitigates the effects of dying tasks: Tasks are
      skipped only if the task whose pid is stored in f_version exits, all other
      task deaths have no effect.  Unfortunately the code has a bad worst case
      behavior: if the targeted task exits and a new task with the same pid is
      created, then all entries in the task list between old and new position are
      dropped.  This should be rare.
      9c02379c
    • Andrew Morton's avatar
      [PATCH] tridentfb documentation fix · b8ad9f1f
      Andrew Morton authored
      From: Bram Stolk <bram@sara.nl>
      
      Fixes for Documentation/fb/modedb.txt and Documentation/fb/tridentfb.txt
      b8ad9f1f
    • Andrew Morton's avatar
      [PATCH] Remove redundant code in workqueue.c · ef03c46d
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      It turns out that run_workqueue never has signal_pending(), since setting
      the handler to SIG_IGN means "don't make zombies, I'm ignoring them".  Fix
      the comment, don't allow the signal, and remove the unused waitpid loop.
      
      This also allows simpler conversion of workueues to the kthread mechanism,
      which uses signals to indicate it's time to stop.
      ef03c46d
    • Andrew Morton's avatar
      [PATCH] OSS dmabuf deadlock fix · c8800d33
      Andrew Morton authored
      Spotted by From: Christian Borntraeger <kernel@borntraeger.net>
      
      dma_reset_input() takes dmap->lock, so call it without that lock held.
      c8800d33
    • Andrew Morton's avatar
      [PATCH] allow SGI IOC4 chipset support · 9a981cd1
      Andrew Morton authored
      From: jbarnes@sgi.com (Jesse Barnes)
      
      The 'depends' directive for SGI IOC4 support is too restrictive.  Just make
      it depend on ia64.
      9a981cd1
    • Andrew Morton's avatar
      [PATCH] do_no_page leak fix · 5addc565
      Andrew Morton authored
      We leak a page in do_no_page() if pte_chain_alloc fails.
      5addc565
    • Andrew Morton's avatar
      [PATCH] Eicon isdn driver alloc buffer size fix · 43807a0e
      Andrew Morton authored
      From: Armin <armin@melware.de>
      
      - Allocate buffer of correct size.
      
      - Fix possible buffer overflow.
      
      - Use correct debug level for double registered application.
      43807a0e
    • Andrew Morton's avatar
      [PATCH] Eicon isdn driver hardware access fix · a042f921
      Andrew Morton authored
      From: Armin <armin@melware.de>
      
      It fixes access to hardware memory of wrong size and therefore removes a
      compiler warning.  The hardware trap variable must be read as 32bit value.
      a042f921
    • Andrew Morton's avatar
      [PATCH] remove old Eicon isdn driver · 77bfc31e
      Andrew Morton authored
      From: Armin <armin@melware.de>
      
      The new driver for Eicon ISDN cards is in drivers/isdn/hardware/eicon.
      
      The old driver is still in drivers/isdn/eicon and I would like to remove
      this old driver from the 2.6 kernels.
      
      The attached patch removes the references to this driver, but in addition
      the directory drivers/isdn/eicon should be removed.
      77bfc31e
    • Andrew Morton's avatar
      [PATCH] jbd: start_this_handle() return value fix · 63f253bb
      Andrew Morton authored
      From: Alex Tomas <alex@clusterfs.com>
      
      start_this_handle() returns 0 always.  because of this journal_start() may
      return handle with h_transaction = NULL
      63f253bb
    • Andrew Morton's avatar
      [PATCH] Remove Intel check in i386 HPET code · 4631b75f
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      The i386 HPET time setup code would explicitely check for the Intel vendor
      ID.  That is bogus because other chipset vendors (like AMD) are
      implementing HPET too.  
      
      Remove this check.
      4631b75f
    • Andrew Morton's avatar
      [PATCH] module removal race fix · 52db2a96
      Andrew Morton authored
      From: Rusty Russell <rusty@au1.ibm.com>
      
      Vatsa spotted this: you can remove a module while it's being initialized,
      and that will be bad.  Hole was opened when I dropped the sem around the
      init routine (which can probe for other modules).
      52db2a96
    • Andrew Morton's avatar
      [PATCH] set_cpus_allowed locking · faab2e12
      Andrew Morton authored
      From: Nick Piggin <piggin@cyberone.com.au>,
            Rusty Russell <rusty@rustcorp.com.au>
      
      Prevents a race where sys_sched_setaffinity can race with
      sched_migrate_task and cause sched_migrate_task to restore an invalid
      cpu mask.
      faab2e12
    • Andrew Morton's avatar
      [PATCH] do_timer_gettime() cleanup · af7846e4
      Andrew Morton authored
      - Make it static
      
      - It is larger and has two callsites: uninline it.
      af7846e4
    • Andrew Morton's avatar
      [PATCH] Fix weird placement of inline · 8e1b379f
      Andrew Morton authored
      From: Jesper Juhl <juhl-lkml@dif.dk>
      
      I'm compiling 2.6.1-rc1-mm1 with "-W -Wall" to look for potential problems
      and minor stuff to clean up.
      
      One of the things that enabling the extra warnings turn up is errors about
      the placement of the inline keyword.
      8e1b379f
    • Andrew Morton's avatar
      [PATCH] ext2: fix build when EXT2_DEBUG is set · b0973709
      Andrew Morton authored
      Fix warnings and build errors under EXT2_DEBUG.
      b0973709
    • Andrew Morton's avatar
      [PATCH] Fix softcursor · 79dfabdf
      Andrew Morton authored
      From: Pavel Machek <pavel@ucw.cz>
      
      Softcursor was broken for half of 2.5 series.  This fixes it by first
      hiding cursor _then_ hiding softcursor.  Very simple mistake...
      79dfabdf
    • Andrew Morton's avatar
      [PATCH] Remove x86_64 leftover SIMNOW code · 34afcdd9
      Andrew Morton authored
      From: Pavel Machek <pavel@ucw.cz>
      
      This is obsolete x86-64 code.
      34afcdd9
    • Andrew Morton's avatar
      [PATCH] ext3: s_next_generation fixes · 546e1d8b
      Andrew Morton authored
      - Add missing locking around s_next_generation increment
      
      - Correctly set the initial value of s_next_generation.
      546e1d8b
    • Andrew Morton's avatar
      [PATCH] ext2: s_next_generation locking · 6283f86e
      Andrew Morton authored
      There is no locking around the increment of this per-filesystem counter.
      Create a new lock, just for this.
      6283f86e
    • Andrew Morton's avatar
      [PATCH] ext2_new_inode nanocleanup · 70d4c9f2
      Andrew Morton authored
      We've cached EXT2_SB(sb) in local variable `sbi'.  Use it.
      70d4c9f2