netdev
[Top] [All Lists]

Re: [BUG] overflow in net/ipv4/route.c rt_check_expire()

To: "David S. Miller" <davem@xxxxxxxxxxxxx>
Subject: Re: [BUG] overflow in net/ipv4/route.c rt_check_expire()
From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Date: Fri, 01 Apr 2005 16:39:48 +0200
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20050331221352.13695124.davem@davemloft.net>
References: <42370997.6010302@cosmosbay.com> <20050315103253.590c8bfc.davem@davemloft.net> <42380EC6.60100@cosmosbay.com> <20050316140915.0f6b9528.davem@davemloft.net> <4239E00C.4080309@cosmosbay.com> <20050331221352.13695124.davem@davemloft.net>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
David S. Miller a écrit :
On Thu, 17 Mar 2005 20:52:44 +0100
Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:


- Move the spinlocks out of tr_hash_table[] to a fixed size table : Saves a lot of memory (particulary on UP)


If spinlock_t is a zero sized structure on UP, how can this save memory
on UP? :-)

Because I deleted the __attribute__((__aligned__(8))) constraint on struct rt_hash_bucket.

So sizeof(struct rt_hash_bucket) is now 4 instead of 8 on 32 bits architectures.

May I remind you some people still use 32 bits CPU ? :-)

By the way I have an updated patch... surviving very serious loads.


Anyways, I think perhaps you should dynamically allocate this lock table.

Maybe I should make a static sizing, (replace the 256 constant by something based on MAX_CPUS) ?

Otherwise it looks fine.




<Prev in Thread] Current Thread [Next in Thread>