1. 04 Feb, 2003 19 commits
    • Andrew Morton's avatar
      [PATCH] patch to DAC960 driver for error retry · 85e81b27
      Andrew Morton authored
      Patch from Dave Olien <dmo@osdl.org>
      
      The following patch implements retry on media errors for the DAC960 driver.
      On such media errors, the DAC960 apparently doesn't report how much of the
      transfer may have been successful before the error was encountered.
      
      This type of error should be rare on healthy hardware, especially if the
      disks are stripped or mirrored.  But, when large transfers are submitted to
      the controller, it's especially bad to have to fail the entire transfer
      because one disk sector may have been bad.
      85e81b27
    • Andrew Morton's avatar
      [PATCH] MAX_IO_APICS #ifdef'd wrongly · d0863ebd
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      CONFIG_X86_NUMA no longer exists.  This changes the MAX_IO_APICS definition
      to 32, where it is required to be so large on NUMA-Q in order to boot.
      d0863ebd
    • Andrew Morton's avatar
      [PATCH] remove will_become_orphaned_pgrp() · d80e4186
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      will_become_orphaned_pgrp()'s sole use is is_orphaned_pgrp().  Fold its body
      into is_orphaned_pgrp(), rename __will_become_orphaned_pgrp(), and adjust
      callers.  Code shrinkage plus some relief from underscore-itis.
      d80e4186
    • Andrew Morton's avatar
      [PATCH] remove spaces from slab names · 226a4aef
      Andrew Morton authored
      From Anton Blanchard: remove spaces from slab cache identifiers.  Simplifies
      parsing of /proc/slabinfo.
      226a4aef
    • Andrew Morton's avatar
      [PATCH] asm-i386/mmzone.h macro paren/eval fixes · 49da25b9
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      Okay, this one looks ugly because we're missing some of the definitions
      available with which to convert to inline functions (esp. struct page).
      A lot of these introduce temporaries and sort of hope names won't clash,
      which might be important to whoever cares about -Wshadow.
      
       - node_end_pfn() evaluates nid twice
       - local_mapnr() evaluates kvaddr twice
       - kern_addr_valid() evaluates kaddr twice
       - pfn_to_page() evaluates pfn multiple times
       - page_to_pfn() evaluates page thrice
       - pfn_valid() doesn't parenthesize its argument
      49da25b9
    • Andrew Morton's avatar
      [PATCH] Restore LSM hook calls to sendfile · 776ad141
      Andrew Morton authored
      Patch from "Stephen D. Smalley" <sds@epoch.ncsc.mil>
      
      This patch restores the LSM hook calls in sendfile to 2.5.59.  The hook was
      previously added as of 2.5.29 but the hook calls in sendfile were
      subsequently lost as a result of the sendfile rewrite as of 2.5.30.
      776ad141
    • Andrew Morton's avatar
      [PATCH] hangcheck-timer · 5dd7d1b6
      Andrew Morton authored
      Patch from: Joel Becker <Joel.Becker@oracle.com>
      
      This kernel module will detect long durations when jiffies has failed to
      increment, and will reboot the machine in response.
      
      Joel says:
      
      
      "Here's why Oracle wants such a thing.  We run clusters.  Imagine a two node
       cluster.  Node1 pauses completely for some reason.  There are multiple
       reasons this can happen.  A bad driver can udelay() for 90 seconds (qla used
       to do this).  zVM on S/390 can page Linux out for minutes at a time.
       Anything that causes the box to freeze.  Jiffies does *not* count during
       this, so when Node1 returns it feels that no time has passed.
      
       Node2, however, has been counting time.  When Node1 goes away, the Oracle
       cluster manager starts looking for it.  After a timeout, it gives up.  It
       then recovers any in-progress transactions from Node1.  After that, it
       starts new operations, modifying the data in ways that Node1 has no idea
       about (it's still out to lunch).
      
       When Node1 finally returns (udelay() ends, zVM pages it in, whatever), any
       I/O that it has queued or is about to queue will get sent to the disk.
       Oops, you've just corrupted your shared data.
      
       hangcheck-timer should catch this and reboot the box.
      
       This is why Oracle wants this driver.  We figure that such functionality
       would be beneficial to others as well, so we posted to l-k.  We'd all hope
       that driver writers don't udelay() for 90s, but S/390 with zVM is still
       around.  Some folks might want to notice when it happens.  I am sure other
       things exist that trigger the same symptoms."
      5dd7d1b6
    • Andrew Morton's avatar
      [PATCH] remove unneeded locking in do_syslog() · 46052b73
      Andrew Morton authored
      Lots of nonsensical locking in there.
      46052b73
    • Andrew Morton's avatar
      [PATCH] Avoid losing timer ticks when slab debug is enabled. · cf336416
      Andrew Morton authored
      Patch from Manfred Spraul <manfred@colorfullife.com>
      
      When slab debugging is enabled we're holding off interrupts for too long
      (more than a jiffy), so reduce the alloc/free batching size when slab debug
      is enabled.
      cf336416
    • Andrew Morton's avatar
      [PATCH] pgd_ctor update · ee3ddbbd
      Andrew Morton authored
      From wli
      
      A moment's reflection on the subject suggests to me it's worthwhile to
      generalize pgd_ctor support so it works (without #ifdefs!) on both PAE
      and non-PAE. This tiny tweak is actually more noticeably beneficial
      on non-PAE systems but only really because pgd_alloc() is more visible;
      the most likely reason it's less visible on PAE is "other overhead".
      It looks particularly nice since it removes more code than it adds.
      
      Touch tested on NUMA-Q (PAE). OFTC #kn testers testing the non-PAE case.
      ee3ddbbd
    • Andrew Morton's avatar
      [PATCH] Use a slab cache for pgd and pmd pages · a85cb652
      Andrew Morton authored
      From Bill Irwin
      
      This allocates pgd's and pmd's using the slab and slab ctors.  It has a
      benefit beyond preconstruction in that PAE pmd's are accounted via
      /proc/slabinfo
      
      Profiling of kernel builds by Martin Bligh shows a 30-40% drop in CPU load
      due to pgd_alloc()'s page clearing activity.  But this was already a tiny
      fraction of the overall CPU time.
      a85cb652
    • Andrew Morton's avatar
      [PATCH] remove __GFP_HIGHIO · 3ac8c845
      Andrew Morton authored
      Patch From: Hugh Dickins <hugh@veritas.com>
      
      Recently noticed that __GFP_HIGHIO has played no real part since bounce
      buffering was converted to mempool in 2.5.12: so this patch (over 2.5.58-mm1)
      removes it and GFP_NOHIGHIO and SLAB_NOHIGHIO.
      
      Also removes GFP_KSWAPD, in 2.5 same as GFP_KERNEL; leaves GFP_USER, which
      can be a useful comment, even though in 2.5 same as GFP_KERNEL.
      
      One anomaly needs comment: strictly, if there's no __GFP_HIGHIO, then
      GFP_NOHIGHIO translates to GFP_NOFS; but GFP_NOFS looks wrong in the block
      layer, and if you follow them down, you find that GFP_NOFS and GFP_NOIO
      behave the same way in mempool_alloc - so I've used the less surprising
      GFP_NOIO to replace GFP_NOHIGHIO.
      3ac8c845
    • Andrew Morton's avatar
      [PATCH] cleanup in read_cache_pages() · 99c88bc2
      Andrew Morton authored
      Patch from Nikita Danilov <Nikita@Namesys.COM>
      
      read_cache_pages() is passed a bunch of pages to start I/O against and it is
      supposed to consume all those pages.  But if there is an I/O error, someone
      need to throw away the unused pages.
      
      At present the single user of read_cache_pages() (nfs_readpages) does that
      cleanup by hand.  But it should be done in the core kernel.
      99c88bc2
    • Andrew Morton's avatar
      [PATCH] mm/mmap.c whitespace cleanups · cecee739
      Andrew Morton authored
      - Don't require a 160-col xterm
      
      - Coding style consistency
      cecee739
    • Andrew Morton's avatar
      [PATCH] file-backed vma merging · 6b2ca90b
      Andrew Morton authored
      Implements merging of file-backed VMA's.  Based on Andrea's 2.4 patch.
      
      It's only done for mmap().  mprotect() and mremap() still will not merge
      VMA's.
      
      It works for hugetlbfs mappings also.
      6b2ca90b
    • 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 6 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