1. 04 Feb, 2003 4 commits
    • Andrew Morton's avatar
      [PATCH] add stats for page reclaim via inode freeing · b29422e3
      Andrew Morton authored
      pagecache can be reclaimed via the page LRU and via prune_icache.  We
      currently don't know how much reclaim is happening via each.
      
      The patch adds instrumentation to display the number of pages which were
      freed via prune_icache.  This is displayed in /proc/vmstat:pginodesteal and
      /proc/vmstat:kswapd_inodesteal.
      
      Turns out that under some workloads (well, dbench at least), fully half of
      page reclaim is via the unused inode list.  Which seems quite OK to me.
      b29422e3
    • Andrew Morton's avatar
      [PATCH] fix agp compile warning · f5585f5d
      Andrew Morton authored
      A static function in a header where presumably a static inline was intended.
      f5585f5d
    • Andrew Morton's avatar
      [PATCH] implement posix_fadvise64() · fccbe384
      Andrew Morton authored
      An implementation of posix_fadvise64().  It adds 368 bytes to my vmlinux and
      is worth it.
      
      I didn't bother doing posix_fadvise(), as userspace can implement that by
      calling fadvise64().
      
      The main reason for wanting this syscall is to provide userspace with the
      ability to explicitly shoot down pagecache when streaming large files.  This
      is what O_STEAMING does, only posix_fadvise() is standards-based, and harder
      to use.
      
      posix_fadvise() also subsumes sys_readahead().
      
      POSIX_FADV_WILLNEED will generally provide asynchronous readahead semantics
      for small amounts of I/O.  As long as things like indirect blocks are aready
      in core.
      
      POSIX_FADV_RANDOM gives unprivileged applications a way of disabling
      readahead on a per-fd basis, which may provide some benefit for super-seeky
      access patterns such as databases.
      
      
      
      The POSIX_FADV_* values are already implemented in glibc, and this patch
      ensures that they are in sync.
      
      A test app (fadvise.c) is available in ext3 CVS.  See
      
      	http://www.zip.com.au/~akpm/linux/ext3/
      
      for CVS details.
      
      Ulrich has reviewed this patch (thanks).
      fccbe384
    • Nathan Laredo's avatar
      [PATCH] stradis.c "proper" port to 2.5.x · e7bfb1db
      Nathan Laredo authored
      e7bfb1db
  2. 03 Feb, 2003 15 commits
  3. 02 Feb, 2003 21 commits
    • James Bottomley's avatar
    • Jeff Garzik's avatar
      Merge kernel.bkbits.net:net-drivers-2.5 · 0145e5c9
      Jeff Garzik authored
      into redhat.com:/garz/repo/net-drivers-2.5
      0145e5c9
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk · 49a85c6a
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      49a85c6a
    • Russell King's avatar
      [ARM] Add arch/arm/common · 1687c697
      Russell King authored
      Certain support files are shared between various ARM machine classes.
      In other to sanely support these, we place the shared files in
      arch/arm/common instead of the individual machine class directories.
      1687c697
    • Linus Torvalds's avatar
      Merge · 4251bd1a
      Linus Torvalds authored
      4251bd1a
    • Andrew Morton's avatar
      [PATCH] fix show_task oops · c7766898
      Andrew Morton authored
      Patch from Russell King <rmk@arm.linux.org.uk>
      
      show_task() attempts to calculate the amount of free space which hasn't been
      written to on the kernel stack by reading from the base of the kernel stack
      upwards.
      
      However, it mistakenly uses the task_struct pointer as the base of the stack,
      which it isn't, and this can cause an oops.
      
      Here is a patch which uses the task thread pointer instead, which should be
      located at the bottom of the kernel stack.  It appears this was missed when
      the thread structure was introduced.
      c7766898
    • Andrew Morton's avatar
      [PATCH] exit_mmap fix for 64bit->32bit execs · 2e7c21ea
      Andrew Morton authored
      The recent exit_mmap() changes broke PPC64 when 64-bit applications exec
      32-bit ones.  ia32-on-ia64 was broken as well
      
      What is happening is that load_elf_binary() sets TIF_32BIT (via
      SET_PERSONALITY) _before_ running exit_mmap().  So when we're unmapping the
      vma's of the old image, we are running under the new image's personality.
      
      This causes PPC64 to pass a 32-bit TASK_SIZE to unmap_vmas(), even when the
      execing process had a 64-bit image.  Because unmap_vmas() is not provided
      with the correct virtual address span it does not unmap all the old image's
      vma's and we go BUG_ON(mm->map_count) in exit_mmap().
      
      The early SET_PERSONALITY() is required before we look up the interpreter
      because the lookup of the executable has to happen under the alternate root
      which SET_PERSONALITY() may set.
      
      Unfortunately this means that we're running flush_old_exec() under the new
      exec's personality.  Hence this bug.
      
      So what the patch does is to simply pass ~0UL into unmap_vmas(), which tells
      it to unmap everything regardless of current personality.  Which is what the
      old open-coded VMA killer was doing.
      
      There remains the problem that some architectures are sometimes passing the
      incorrect TASK_SIZE into tlb_finish_mmu().  They've always been doing that.
      2e7c21ea
    • Andrew Morton's avatar
      [PATCH] Fix generic_file_readonly_mmap() · b91c1b1b
      Andrew Morton authored
      We cannot clear VM_MAYWRITE in there - it turns writeable MAP_PRIVATE
      mappings into readonly ones.
      
      So change it back to the 2.4 form - disallow a writeable MAP_SHARED mapping
      against filesystems which do not implement ->writepage().
      b91c1b1b
    • Andrew Morton's avatar
      [PATCH] soundcore.c referenced non-existent errno variable · 858743c2
      Andrew Morton authored
      Patch from: Petr Vandrovec <vandrove@vc.cvut.cz>
      
      soundcore is trying to perform kernel syscalls to load firmware, but falls
      afoul of missing `errno'.  Convert it to use VFS API functions.
      858743c2
    • Andrew Morton's avatar
      [PATCH] floppy locking fix · 7bb503fc
      Andrew Morton authored
      redo_fd_request() needs to take the queue lock around the call to
      elv_next_request().
      7bb503fc
    • Andrew Morton's avatar
      [PATCH] atyfb compilation fix · 0391b9be
      Andrew Morton authored
      Patch from "Andres Salomon" <dilinger@voxel.net>
      
      Fix compilation of atyfb_base.c
      0391b9be
    • Andrew Morton's avatar
      [PATCH] correct wait accounting in wait_on_buffer() · 8458eee6
      Andrew Morton authored
      __wait_on_buffer() needs to use io_schedule(), so processes in there are
      accounted as being in I/O wait.
      8458eee6
    • Andrew Morton's avatar
      [PATCH] pcmcia timer initialisation fixes · 7a3ed3de
      Andrew Morton authored
      pcmcia timer initialisation fixes from Anton Blanchard
      7a3ed3de
    • Andrew Morton's avatar
      [PATCH] i386 pgd_index() doesn't parenthesize its arg · 80e06f8f
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      PAE's pte_none() and pte_pfn() evaluate their arguments twice;
      analogous fixes have been made to other things; c.f. pgtable.h's long
      list of one-line inlines with parentheses still around their args.
      80e06f8f
    • Andrew Morton's avatar
      [PATCH] kernel param and KBUILD_MODNAME name-munging mess · 8863179c
      Andrew Morton authored
      Patch from: Rusty Russell <rusty@rustcorp.com.au>
      
      Mikael Pettersson points out that "-s" gets mangled to "_s" on the
      kernel command line, even though it turns out not to be a
      parameter.
      8863179c
    • Andrew Morton's avatar
      [PATCH] i386 pgd_index() doesn't parenthesize its arg · 70494a78
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      pgd_index() doesn't parenthesize its argument.  This is a bad idea for
      macros, since it's legitimate to pass expressions to them that will get
      misinterpreted given operator precedence and the shift.
      70494a78
    • Andrew Morton's avatar
      [PATCH] symbol_get linkage fix · e7700cb5
      Andrew Morton authored
      Patch from Rusty Russell <rusty@rustcorp.com.au>
      
      Make symbol_get() use undefined weak symbols if !CONFIG_MODULE.
      Many thanks to RTH for introducing undef weak symbols to me.
      e7700cb5
    • Andrew Morton's avatar
      [PATCH] blkdev.h fixes · 33cd6bac
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      BLK_BOUNCE_HIGH and BLK_BOUNCE_ANY are compared against 64-bit quantities.
      Cast these unsigned long quantities to avoid overflow.
      33cd6bac
    • Andrew Morton's avatar
      [PATCH] slab IRQ fix · 43bb7a3a
      Andrew Morton authored
      Patch from Manfred Spraul <manfred@colorfullife.com>
      
      cache_alloc_refill() forgets to disable interrupts again on an error path.
      This exposes us to slab corruption and it makes slab debugging go BUG (it
      expects local irqs to be disabled).
      43bb7a3a
    • Andrew Morton's avatar
      [PATCH] stack overflow checking fix · 4a369121
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      struct thread_info is shared with the stack, not struct task_struct.
      False positives have been seen.
      4a369121
    • Andrew Morton's avatar
      [PATCH] Make fix sync_filesystems() actually do something · 055939f7
      Andrew Morton authored
      Random semicolon makes the whole thing a no-op.
      
      It _did_ work.  I must have broken it between testing and sending :(
      055939f7