All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <dada1@cosmosbay.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] [NET] reduce sizeof(struct inet_peer), cleanup, change in peer_check_expire()
Date: Fri, 13 Oct 2006 05:56:43 +0200	[thread overview]
Message-ID: <452F0E7B.3010701@cosmosbay.com> (raw)
In-Reply-To: <20061012.151529.95506153.davem@davemloft.net>

David Miller a écrit :
> From: Eric Dumazet <dada1@cosmosbay.com>
> Date: Thu, 12 Oct 2006 22:14:12 +0200
> 
>> 1) shrink struct inet_peer on 64 bits platforms.
>> ------------------------------------------------
>> I noticed sizeof(struct inet_peer) was 64+8 on x86_64
>>
>> As we dont really need 64 bits timestamps (we only care for garbage 
>> collection), we can use 32bits ones and reduce sizeof(struct inet_peer) to 64 
>> bytes : Because of SLAB_HWCACHE_ALIGN constraint, final allocation is 64 bytes 
>> instead of 128 bytes per inet_peer structure.
> 
> I'm not convinced this is %100 correct.  There are wrapping
> cases that I think aren't covered.
> 
> Consider an entry that lives long enough for the lower 32-bits
> of jiffies to wrap, then we kill it, but we won't purge it
> properly if the wrapped jiffie is close to dtime.
> 
> I'm sure there are other similar cases as well.

Hum, if it was incorrect, I urge you to grep for tcp_time_stamp, and correct 
this as soon as possible :)

2^31 is 2147483648

Thats a *lot* of timer ticks, an inet_peer entry should not stay in 
unused_list for more than 10 minutes.

Even if the system is under stress for more than 30 days, and some entries 
stay that long in unused list, they wont leak : either they are re-used, 
either they are purged by cleanup_once(0); done in inet_getpeer().

Eric


  reply	other threads:[~2006-10-13  3:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20051217071029.GY23384@wotan.suse.de>
     [not found] ` <20051216.231517.68922847.davem@davemloft.net>
     [not found]   ` <43A3EE8A.5020907@cosmosbay.com>
     [not found]     ` <43CCBF3D.2070900@cosmosbay.com>
     [not found]       ` <4415A4C1.1030906@cosmosbay.com>
2006-10-12 20:14         ` [PATCH] [NET] reduce sizeof(struct inet_peer), cleanup, change in peer_check_expire() Eric Dumazet
2006-10-12 22:15           ` David Miller
2006-10-13  3:56             ` Eric Dumazet [this message]
2006-10-13  4:18               ` David Miller
2006-10-13  4:24                 ` Eric Dumazet
2006-10-18  5:08           ` [PATCH] [NET] reduce sizeof(struct flow) Eric Dumazet
2006-10-18  5:17             ` YOSHIFUJI Hideaki / 吉藤英明
2006-10-18  5:30               ` Eric Dumazet
2006-10-18  5:27             ` David Miller
2006-10-18  5:42               ` Eric Dumazet
2006-10-18  6:53                 ` David Miller
2006-10-18  8:20                   ` Steven Whitehouse
2006-10-18  8:55                     ` Eric Dumazet
2006-10-18 12:42                       ` Steven Whitehouse
2006-10-18 13:32                         ` Eric Dumazet
2006-10-19  3:50                           ` David Miller
2006-10-19  5:13                             ` Eric Dumazet
2006-10-20 13:55                         ` [PATCH] [NET] reduce sizeof(struct flowi) by 20 bytes Eric Dumazet
2006-10-22  3:25                           ` David Miller
2006-10-18 11:33               ` [PATCH] [NET] reduce sizeof(struct flow) Ingo Oeser
2006-10-20  7:18             ` [PATCH] [NET] can use __get_cpu_var() instead of per_cpu() in loopback driver Eric Dumazet
2006-10-20  7:32               ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=452F0E7B.3010701@cosmosbay.com \
    --to=dada1@cosmosbay.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.