1. 19 Jan, 2004 40 commits
    • Andrew Morton's avatar
      [PATCH] rq_for_each_bio fix · 6c5703d5
      Andrew Morton authored
      From: Xavier Bestel <xavier.bestel@free.fr>
      
      Within the body of this macro we are accessing rq->bio, but `bio' is an arg
      to the macro.  If someone uses this macro with some variable which is not
      named `bio' it won't compile.
      
      So use a more-likely-to-be-unique identifier for the macro.
      6c5703d5
    • Andrew Morton's avatar
      [PATCH] cleanup single_open usage in dma.c · 489a867c
      Andrew Morton authored
      From: Jeff Muizelaar <muizelaar@rogers.com>
      
      The attached patch lets the seq_file api take care of buffer allocation
      instead of doing it by hand.
      489a867c
    • Andrew Morton's avatar
      [PATCH] ppc cond_syscall fix · efe067fa
      Andrew Morton authored
      From: Matt Mackall <mpm@selenic.com>
      
      Experimenting with trying to use cond_syscall for a few arch-specific
      syscalls, I discovered that it can't actually be used outside the file
      in which sys_ni_syscall is declared because the assembler doesn't feel
      obliged to output the symbol in that case:
      
      weak.c:
      
      #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
      cond_syscall(sys_foo);
      
      $ nm weak.o
               U sys_ni_syscall
      
      One arch (PPC) is apparently trying to use cond_syscall this way
      anyway, though it's probably never been actually tested as the above
      test was done on a PPC.
      
      After trying a bunch of tricks to get it to work nicely, I decided
      there are basically two alternatives: make weak versions of
      sys_ni_syscall wherever they're wanted or put the arch-specific
      cond_syscalls in kernel/sys.c where sys_ni_syscall is defined.
      
      The former approach is a bit crufty and doesn't actually do the right
      thing in practice as you'll get multiple copies of sys_ni_syscall in
      your final image.
      
      The latter introduces some slight arch-pollution in sys.c, but as
      arch-specific cond_syscalls aren't all that frequent, it should be
      pretty minor. So here's a patch to move the current offender to sys.c:
      efe067fa
    • Andrew Morton's avatar
      [PATCH] remove null-ilizers · 2d0630e0
      Andrew Morton authored
      From: Jes Sorensen <jes@trained-monkey.org>
      
      The following patch removes a couple of null-ilizers of global variables.
      Not a big deal, but every byte helps in the .data segment ;-)
      2d0630e0
    • Andrew Morton's avatar
      [PATCH] fix error case in binfmt_elf.c:load_elf_interp · 31f73ed3
      Andrew Morton authored
      From: Roland McGrath <roland@redhat.com>
      
      Julie DeWandel noticed that in the error case where elf_map has failed,
      load_elf_interp will (at the out_close: label) return the `error' variable,
      but that will contain the result of a prior operation and not the error
      number from elf_map.
      31f73ed3
    • Andrew Morton's avatar
      [PATCH] isapnp modem addition · 3d122f30
      Andrew Morton authored
      From: David Sanders <linux@sandersweb.net>
      
      Patch adds support for another pnp modem in 2.6 kernel.
      3d122f30
    • Andrew Morton's avatar
      [PATCH] setscheduler fix · 22770def
      Andrew Morton authored
      From: Joe Korty <joe.korty@ccur.com>
      
      task_running(rq,p) is equivalent to (rq->curr == p) only for some
      architectures.
      22770def
    • Andrew Morton's avatar
      [PATCH] sysrq_key_table_key2index() fixlets · 8ef1b7ac
      Andrew Morton authored
      - It's using & where it meant to use &&.  (Randy Dunlap)
      
      - It has two callsites - uninline it.
      8ef1b7ac
    • Andrew Morton's avatar
      [PATCH] if ... BUG() -> BUG_ON() · f598fb8d
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      four months ago, Rolf Eike Beer <eike-kernel@sf-tec.de> sent a patch
      against 2.6.0-test5-bk1 that converted several if ...  BUG() to BUG_ON()
      
      This might in some cases result in slightly faster code because BUG_ON()
      uses unlikely().
      f598fb8d
    • Andrew Morton's avatar
      [PATCH] make gcc 3.4 compilation work · fd2ac4b2
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      With gcc-3.4 we need "attribute((used))" declarations to get "make
      modules_install" to work.
      
      Otherwise these sections get dropped from the final image (I assume).
      fd2ac4b2
    • Andrew Morton's avatar
      [PATCH] Arrange for EFI-related code to be compiled away · ce65cade
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      There is some EFI-related code which is present in the ia64 build but is not
      needed: variable efi_enabled is always zero.
      
      The patch fiddles with the efi_enabled definition to arrange for
      `efi_enabled' to be constant zero or constant one in those situations where
      this can be guaranteed.
      ce65cade
    • Andrew Morton's avatar
      [PATCH] ext3: fix determination of inode journalling mode · d91341a9
      Andrew Morton authored
      The test for whether an inode is using journalled, ordered or writeback data
      is incorrect and can lead to ext3_set_aops() giving the inode the wrong set
      of address_space_operations.  Fix.  (Spotted by Jan Kara).
      d91341a9
    • 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