1. 24 3月, 2006 36 次提交
  2. 23 3月, 2006 4 次提交
    • B
      [PATCH] reduce size of bio mempools · b0e6e962
      Benjamin LaHaise 提交于
      The biovec default mempool limit of 256 entries results in over 3MB of RAM
      being permanently pinned, even on systems with only 128MB of RAM.  Since
      mempool tries to allocate from the system pool first, it makes sense to
      reduce the size of the mempool fallbacks to a more reasonable limit of 1-5
      entries -- enough for the system to be able to make progress even under
      load.
      Signed-off-by: NBenjamin LaHaise <bcrl@kvack.org>
      Acked-by: NJens Axboe <axboe@suse.de>
      Cc: Matt Mackall <mpm@selenic.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b0e6e962
    • E
      [PATCH] __GENERIC_PER_CPU changes · b73b459f
      Eric Dumazet 提交于
      Now CONFIG_DEBUG_INITDATA is in, initial percpu data
      [__per_cpu_start,__per_cpu_end] can be declared as a redzone, and invalid
      accesses after boot can be detected, at least for i386.
      
      We can let non possible cpus percpu data point to this 'redzone' instead of
      NULL .
      
      NULL was not a good choice because part of [0..32768] memory may be
      readable and invalid accesses may happen unnoticed.
      
      If CONFIG_DEBUG_INITDATA is not defined, each non possible cpu points to
      the initial percpu data (__per_cpu_offset[cpu] == 0), thus invalid accesses
      wont be detected/crash.
      
      This patch also moves __per_cpu_offset[] to read_mostly area to avoid false
      sharing.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b73b459f
    • A
      [PATCH] more for_each_cpu() conversions · 394e3902
      Andrew Morton 提交于
      When we stop allocating percpu memory for not-possible CPUs we must not touch
      the percpu data for not-possible CPUs at all.  The correct way of doing this
      is to test cpu_possible() or to use for_each_cpu().
      
      This patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very
      few instances of this bug, if any.  But the patch converts lots of open-coded
      test to use the preferred helper macros.
      
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: NKyle McMartin <kyle@parisc-linux.org>
      Cc: Anton Blanchard <anton@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Christian Zankel <chris@zankel.net>
      Cc: Philippe Elie <phil.el@wanadoo.fr>
      Cc: Nathan Scott <nathans@sgi.com>
      Cc: Jens Axboe <axboe@suse.de>
      Cc: Eric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      394e3902
    • E
      [PATCH] Only allocate percpu data for possible CPUs · 63872f87
      Eric Dumazet 提交于
      percpu_data blindly allocates bootmem memory to store NR_CPUS instances of
      cpudata, instead of allocating memory only for possible cpus.
      
      This patch saves ram, allocating num_possible_cpus() (instead of NR_CPUS)
      instances.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Acked-by: N"David S. Miller" <davem@davemloft.net>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Jens Axboe <axboe@suse.de>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Jens Axboe <axboe@suse.de>
      Cc: Anton Blanchard <anton@samba.org>
      Acked-by: NWilliam Irwin <wli@holomorphy.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      63872f87