1. 09 Apr, 2003 11 commits
    • Andrew Morton's avatar
      [PATCH] rmap comments · 9549db1d
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      Update a few locking comments in rmap.c.
      9549db1d
    • Andrew Morton's avatar
      [PATCH] Replace the radix-tree rwlock with a spinlock · 8e98702b
      Andrew Morton authored
      Spinlocks don't have a buslocked unlock and are faster.
      
      On a P4, time to write a 4M file with 4M one-byte-write()s:
      
      Before:
      	0.72s user 5.47s system 99% cpu 6.227 total
      	0.76s user 5.40s system 100% cpu 6.154 total
      	0.77s user 5.38s system 100% cpu 6.146 total
      
      After:
      	1.09s user 4.92s system 99% cpu 6.014 total
      	0.74s user 5.28s system 99% cpu 6.023 total
      	1.03s user 4.97s system 100% cpu 5.991 total
      8e98702b
    • Andrew Morton's avatar
      [PATCH] misc rmap speedups · df921d4d
      Andrew Morton authored
      Even a BUG_ON() makes a measurable difference.  So remove some gratuitous
      ones which will just trigger a null pointer deref anyway.
      
      Also remove some debug code which isn't really being maintained any more.
      
      Also replace (effectively):
      
      	test_bit(N, foo);
      	set_bit(N, foo);
      
      with
      
      	set_bit(N, foo);
      	test_bit(N, foo);
      
      In the first case we'll go onto the bus twice: once for the cache miss and
      once to get exclusive write access.  In the second case we only go on the bus
      once.  I think.  Certainly this trick chaved 40% off the cost of
      shrink_list() when I did it there...
      
      This patch is worth 1% or so on the bash script testing.
      df921d4d
    • Andrew Morton's avatar
      [PATCH] speed up rmap searching · 3523bd55
      Andrew Morton authored
      several functions in rmap.c are searching the ptes[] array fo find the first
      non-null entry.
      
      Despite the fact tha the whole lot is in L1 cache, it is expensive,
      especially on 128-byte cacheline machines.
      
      We can encode the index of the first non-null pte entry inside the
      pte_chain's `next' field and remove those searches altogether.
      
      This reduces the rmap CPU tax by about 25% on a P4.  For a total runtime
      reduction of around 5% in the bash-script intensive test which I use.
      3523bd55
    • Andrew Morton's avatar
      [PATCH] remove nr_reverse_maps VM accounting · 596c3a20
      Andrew Morton authored
      Maintaining the `nr_reverse_maps' provides makes a small but
      measurable decrease in page_add_rmap() overhead.
      
      I don't think it's a very useful metric, and it can be sort-of inferred from
      slabinfo.
      596c3a20
    • Andrew Morton's avatar
      [PATCH] null-terminate the kmalloc tables · 7ffbbaf2
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      The cache_sizes array needs to be NULL terminated, otherwise an oversized
      kmalloc request runs off the end of the table.
      7ffbbaf2
    • Andrew Morton's avatar
      [PATCH] Enforce gcc-2.95 as the minimum compiler requirement · 545e7a03
      Andrew Morton authored
      Now that sparc64 is using gcc-3.x we can disallow gcc-2.91, etc.
      
      Documentation/Changes already says 2.95.3, which is working fine for me.
      
      With this change, we no longer require that per-cpu data definitions be
      initialised.  That was a workaround for a bug in older gccs.  So remove the
      build infrastructure which was checking for that.
      
      Also, mention that nfs-utils-1.0.3 is required.  It isn't required yet, but
      will be once we enable larger dev_t: there is an interface for exportfs which
      passes dev_t's into the kernel which breaks with larger dev_t.  That
      interface is old, deprecated and is not used in nfs-utils-1.0.3.
      545e7a03
    • Andrew Morton's avatar
      [PATCH] fix wait_on_buffer() debug code · 3c45e4d6
      Andrew Morton authored
      The wait_on_buffer() debug code is generating false warnings when called from
      __block_prepare_write().  It is legal to wait on a zero-ref buffer when its
      page is locked.  The page lock keeps try_to_free_buffers() away.
      
      This debug code hasn't found any bugs yet.
      3c45e4d6
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.5 · faedca65
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      faedca65
    • Linus Torvalds's avatar
      da220b09
    • Linus Torvalds's avatar
      User pointers are not just in another address space, they also · d97a291a
      Linus Torvalds authored
      must never be dereferenced directly. Make that clear in the
      attribute.
      d97a291a
  2. 08 Apr, 2003 29 commits