1. 19 May, 2004 30 commits
    • Andrew Morton's avatar
      [PATCH] slab: add kmem_cache_alloc_node · 68978ee7
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      The attached patch adds a simple kmem_cache_alloc_node function: allocate
      memory on a given node.  The function is intended for cpu bound structures.
       It's used for alloc_percpu and for the slab-internal per-cpu structures.
      Jack Steiner reported a ~3% performance increase for AIM7 on a 64-way
      Itanium 2.
      
      Port maintainers: The patch could cause problems if CPU_UP_PREPARE is
      called for a cpu on a node before the corresponding memory is attached
      and/or if alloc_pages_node doesn't fall back to memory from another node if
      there is no memory in the requested node.  I think noone does that, but I'm
      not sure.
      68978ee7
    • Andrew Morton's avatar
      [PATCH] slab: allow arch override for kmem_bufctl_t · a3e754c2
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      The slab allocator keeps track of the free objects in a slab with a linked
      list of integers (typedef'ed to kmem_bufctl_t).  Right now unsigned int is
      used for kmem_bufctl_t, i.e.  4 bytes per-object overhead.
      
      The attached patch implements a per-arch definition of for this type:
      Theoretically, unsigned short is sufficient for kmem_bufctl_t and this would
      reduce the per-object overhead to 2 bytes.  But some archs cannot operate on
      16-bit values efficiently, thus it's not possible to switch everyone to
      ushort.
      
      The chosen types are a result of dicussions with the various arch maintainers.
      a3e754c2
    • Andrew Morton's avatar
      [PATCH] slab: enable runtime cache line size on i386 · 897d49be
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      the attached patch switches the SLAB_HWCACHE_ALIGN alignment from the
      compile time L1 cache line size to the runtime detected value for i386. 
      x86-64 already uses the runtime detection.
      897d49be
    • Andrew Morton's avatar
      [PATCH] Fix arithmetic in shrink_zone() · 6fa1d901
      Andrew Morton authored
      From: Nick Piggin <nickpiggin@yahoo.com.au>
      
      If the zone has a very small number of inactive pages, local variable
      `ratio' can be huge and we do way too much scanning.  So much so that Ingo
      hit an NMI watchdog expiry, although that was because the zone would have a
      had a single refcount-zero page in it, and that logic recently got fixed up
      via get_page_testone().
      
      Nick's patch simply puts a sane-looking upper bound on the number of pages
      which we'll scan in this round.
      
      
      It fixes another failure case: if the inactive list becomes very small
      compared to the size of the active list, active list scanning (and therefore
      inactive list refilling) also becomes small.
      
      This patch causes inactive list scanning to be keyed off the size of the
      active+inactive lists.  It has the plus of hiding active and inactive
      balancing implementation from the higher level scanning code.  It will
      slightly change other aspects of scanning behaviour, but probably not
      significantly.
      6fa1d901
    • Andrew Morton's avatar
      [PATCH] dentry size tuning · 8a98d6d1
      Andrew Morton authored
      Experimenting with various values of DENTRY_STORAGE
      
       dentry size      objs/slab   dentry size * objs/slab    inline string
      
         148               26               3848                   32
         152               26               3952                   36
         156               25               3900                   40
         160               24               4000                   44
      
      We're currently at 160.  The patch fairly arbitrarily takes it down to 152, so
      we can fit a 35-char name into the inline part of the dentry.
      
      Also, go back to the old way of sizing d_iname so that any arch-specific
      compiler-forced alignemnts are honoured.
      8a98d6d1
    • Andrew Morton's avatar
      [PATCH] Fix madvise length checking · f7efcc03
      Andrew Morton authored
      Fix http://bugme.osdl.org/show_bug.cgi?id=2710.
      
      When the user passed madvise a length of -1 through -4095, madvise blindly
      rounds this up to 0 then "succeeds".
      f7efcc03
    • Andrew Morton's avatar
      [PATCH] Remove hardcoded offsets from i386 asm · c2273c87
      Andrew Morton authored
      From: Brian Gerst <bgerst@didntduck.org>
      
      Generate offsets for thread_info, cpuinfo_x86, and a few others instead of
      hardcoding them.
      c2273c87
    • Andrew Morton's avatar
      [PATCH] fix radio-cadet `readq' namespace clash · dba396ff
      Andrew Morton authored
      It conflicts with the readq() I/O function.
      dba396ff
    • Andrew Morton's avatar
      [PATCH] security: add disable param to capabilities module · 01db63f2
      Andrew Morton authored
      From: Chris Wright <chrisw@osdl.org>
      
      Add disable param to capabilities module.  Similar to the SELinux param for
      disabling at boot time.  This allows vendors to ship single binary image with
      capabilities compiled statically, and disable it if they provide another
      security model compiled as module.
      01db63f2
    • Andrew Morton's avatar
      [PATCH] speed up readahead for seeky loads · b2768587
      Andrew Morton authored
      From: Ram Pai <linuxram@us.ibm.com>
      
      Currently the readahead code tends to read one more page than it should with
      seeky database-style loads.  This was to prevent bogus readahead triggering
      when we step into the last page of the current window.
      
      The patch removes that workaround and fixes up the suboptimal logic instead.
      
      
      wrt the "rounding errors" mentioned in this patch, Ram provided the following
      description:
      
        Say the i/o size is 20 pages.
      
        Our algorithm starts by a initial average i/o size of 'ra_pages/2' which
        is mostly say 16.
      
        Now every time we take a average, the 'average' progresses as follows
        (16+20)/2=18
        (18+20)/2=19
        (19+20)/2=19
        (19+20)/2=19.....
        and the rounding error makes it never touch 20
      
      
      
      Benchmarking sitrep:
      
      			IOZONE
      
      	run on a nfs mounted filesystem:
      	client machine 2proc, 733MHz, 2GB memory
      	server machine 8proc, 700Mhz, 8GB memory
      
      ./iozone -c -t1 -s 4096m -r 128k
      b2768587
    • Andrew Morton's avatar
      [PATCH] dpt_i2o warning fixes · f71e4184
      Andrew Morton authored
      drivers/scsi/dpt_i2o.c: In function `adpt_queue':
      drivers/scsi/dpt_i2o.c:442: warning: use of cast expressions as lvalues is deprecated
      drivers/scsi/dpt_i2o.c: In function `adpt_scsi_register':
      drivers/scsi/dpt_i2o.c:2213: warning: use of cast expressions as lvalues is deprecated
      f71e4184
    • Andrew Morton's avatar
      [PATCH] Mark CONFIG_MAC_SERIAL (drivers/macintosh/macserial.c) as broken · f2284fc6
      Andrew Morton authored
      From: Arthur Othieno <a.othieno@bluewin.ch>
      
      CONFIG_MAC_SERIAL (drivers/macintosh/macserial.c) is marked obsolete and
      currently doesn't build.
      
      benh says: "I though build got fixed recently ...  well, anyway, the driver is
      indeed obsolete, there's a new one in drivers/serial now."
      f2284fc6
    • Andrew Morton's avatar
      [PATCH] PPC32: Minor OCP cleanups · dada7d8f
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Fixes a warning and a printk format in OCP.
      dada7d8f
    • Andrew Morton's avatar
      [PATCH] PPC64 iSeries virtual ethernet locking fix · 93d14c84
      Andrew Morton authored
      From: Olaf Hering <olh@suse.de>
      
      Missing spin_unlock in the error path.
      93d14c84
    • Andrew Morton's avatar
      [PATCH] PPC64: iSeries virtual ethernet transmit errors · 83615b9d
      Andrew Morton authored
      From: Stephen Rothwell <sfr@au1.ibm.com>
      
      This patch stops the iseries_veth driver trying to send every packet to too
      many logical partitions.  Consequently, the number of transmit errors falls to
      (about) zero from a very large number.  This should also improve performance a
      bit as the driver is no longer doing 31 extra skb_clone()s and skb_free()s for
      each packet.
      83615b9d
    • Andrew Morton's avatar
      [PATCH] PPC32: Get full register set on bad kernel accesses · 7495a2b5
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      At present on ppc32, if the kernel accesses a bad address and causes an
      oops, or drops into the xmon debugger, we only have the contents of the
      volatile registers available to print.  The reason is that we only save the
      volatile registers on entry for a page fault.
      
      This patch restructures the code a bit so that if do_page_fault()
      determines that the page fault is caused by a bad kernel access, it returns
      to the caller, which then saves the full register set into the exception
      frame before calling bad_page_fault().  This way we get the full set of
      registers printed in the oops message.
      7495a2b5
    • Andrew Morton's avatar
      [PATCH] put module license in swim3.c · fff28794
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      This patch adds module tags for the swim3 (macintosh floppy) driver.
      fff28794
    • Andrew Morton's avatar
      [PATCH] blk_run_page() race fix · 66a759eb
      Andrew Morton authored
      blk_run_page() is incorrectly using page->mapping, which makes it racy against
      removal from swapcache.
      
      Make block_sync_page() use page_mapping(), and remove bkl_run_page(), which
      only had one caller.
      66a759eb
    • Andrew Morton's avatar
      [PATCH] system_state splitup · bf7c3d2d
      Andrew Morton authored
      Split the system_state state `SYSTEM_SHUTDOWN' into SYSTEM_HALT,
      SYSTEM_POWER_OFF and SYSTEM_RESTART and export system_state to modules.
      
      This allows driver shutdown routines to know why they are being shutdown.  The
      IDE subsystem wants this so that it knows to not spin the disks down across a
      reboot.
      bf7c3d2d
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.6 · 2e7d2212
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      2e7d2212
    • Richard Henderson's avatar
      [PATCH] alpha fp-emu vs module refcounting · 164e430f
      Richard Henderson authored
      From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      
      This allows building the math-emu code as a module only when
      CONFIG_SMP is not set. The fp trap handler cannot be preempted
      on a single-CPU (as CONFIG_PREEMPT is not going to be supported
      on alpha), so the module can be safely unloaded at any time.
      164e430f
    • Linus Torvalds's avatar
      Shorten some PCI device names · 1d399491
      Linus Torvalds authored
      Avoid warnings about truncating them when building the
      name database.
      1d399491
    • Linus Torvalds's avatar
      d3dfd13f
    • Linus Torvalds's avatar
      Merge bk://cifs.bkbits.net/linux-2.5cifs · c5fc9c4b
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      c5fc9c4b
    • Linus Torvalds's avatar
      Merge · e79b352d
      Linus Torvalds authored
      e79b352d
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] ide.c: use less stack in ide_unregister() · 10cba765
      Bartlomiej Zolnierkiewicz authored
      From: Chris Wedgwood <cw@f00f.org>
      
      Seperate function, cruft removed and old_hwif
      renamed to something less confusing.
      10cba765
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] H8/300 IDE support update · 7b4ac0ae
      Bartlomiej Zolnierkiewicz authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      With minor fixes from me
      7b4ac0ae
    • Chris Mason's avatar
      [PATCH] Fix reiserfs inode size update race · 77124e4c
      Chris Mason authored
      reiserfs_file_write unlocks the pages it operated on before updating
      i_size.  This can lead to races with writepage, who checks i_size when
      deciding how much of the file to zero out.
      
      This patch also replaces SetPageReferenced with mark_page_accessed() in
      reiserfs_file_write
      
      This was verified to fix the BitKeeper data corruption problems that
      Steven Cole has been debugging, where concurrent writes to a file and
      writebacks to disk would cause zeroes in the file when CONFIG_PREEMPT
      was enabled.
      77124e4c
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] ARM/ARM26 IDE cleanups · 4b3b8ee5
      Bartlomiej Zolnierkiewicz authored
      - clear hwif->hw in setup-pci.c before using it
      
      - fix arch/arm/Kconfig to allow IDE only on platforms supporting it
      
      - introduce IDE_ARCH_OBSOLETE_INIT and ide_default_io_ctl() so
        we can use generic ide_init_hwif_ports() and kill no longer needed
        <asm-arm/arch-*/ide.h> (leave broken lh7a40x and sa1100 versions)
      
      Cross-compile tested on ARM.
      4b3b8ee5
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] add default ARM/ARM26 IDE host driver · 20ebd12c
      Bartlomiej Zolnierkiewicz authored
      Add drivers/ide/arm/ide_arm.c for simple default IDE interfaces
      and clean obsolete ide_init_default_hwifs() implementations
      in asm-arm/arch-{cl7500,rpc,shark}/ide.h and asm-arm26/ide.h.
      
      This allows us to kill ide_init_default_hwifs() completely
      in the next patch (because lh7a40x and sa1100 are broken).
      
      Cross-compile tested on ARM.
      20ebd12c
  2. 18 May, 2004 10 commits