lkml.org 
[lkml]   [2006]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch, -rc5-mm1] lock validator: fix RT_HASH_LOCK_SZ

    * Roland Dreier <rdreier@cisco.com> wrote:

    > Building 2.6.17-rc5-mm1, I get this:
    >
    > net/built-in.o: In function `ip_rt_init':
    > (.init.text+0xb04): undefined reference to `__you_cannot_kmalloc_that_much'

    could you try the patch below and set NR_CPUS back to 32?

    -----------
    Subject: lock validator: fix RT_HASH_LOCK_SZ
    From: Ingo Molnar <mingo@elte.hu>

    on lockdep we have a quite big spinlock_t, so keep the size down.

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    ---
    net/ipv4/route.c | 23 ++++++++++++++---------
    1 file changed, 14 insertions(+), 9 deletions(-)

    Index: linux/net/ipv4/route.c
    ===================================================================
    --- linux.orig/net/ipv4/route.c
    +++ linux/net/ipv4/route.c
    @@ -212,17 +212,22 @@ struct rt_hash_bucket {
    /*
    * Instead of using one spinlock for each rt_hash_bucket, we use a table of spinlocks
    * The size of this table is a power of two and depends on the number of CPUS.
    + * (on lockdep we have a quite big spinlock_t, so keep the size down there)
    */
    -#if NR_CPUS >= 32
    -#define RT_HASH_LOCK_SZ 4096
    -#elif NR_CPUS >= 16
    -#define RT_HASH_LOCK_SZ 2048
    -#elif NR_CPUS >= 8
    -#define RT_HASH_LOCK_SZ 1024
    -#elif NR_CPUS >= 4
    -#define RT_HASH_LOCK_SZ 512
    +#ifdef CONFIG_LOCKDEP
    +# define RT_HASH_LOCK_SZ 256
    #else
    -#define RT_HASH_LOCK_SZ 256
    +# if NR_CPUS >= 32
    +# define RT_HASH_LOCK_SZ 4096
    +# elif NR_CPUS >= 16
    +# define RT_HASH_LOCK_SZ 2048
    +# elif NR_CPUS >= 8
    +# define RT_HASH_LOCK_SZ 1024
    +# elif NR_CPUS >= 4
    +# define RT_HASH_LOCK_SZ 512
    +# else
    +# define RT_HASH_LOCK_SZ 256
    +# endif
    #endif

    static spinlock_t *rt_hash_locks;
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2006-05-30 22:29    [W:0.042 / U:60.600 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site