netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* sysctl_{tcp,udp,sctp}_mem overflow on 16TB system.
@ 2010-10-01 19:39 Robin Holt
  2010-10-01 20:30 ` Willy Tarreau
  0 siblings, 1 reply; 5+ messages in thread
From: Robin Holt @ 2010-10-01 19:39 UTC (permalink / raw)
  To: David S. Miller, Alexey Kuznetsov, Pekka Savola (ipv6),
	James Morris, Hideaki YOSHIFUJI <yosh
  Cc: linux-kernel, netdev, linux-decnet-user, linux-sctp


On a 16TB system, we noticed that sysctl_tcp_mem[2] and sysctl_udp_mem[2]
were negative.  Code review indicates that the same should occur with
sysctl_sctp_mem[2].

There are a couple ways we could address this.  The one which appears most
reasonable would be to change the struct proto defintion for sysctl_mem
from an int to a long and handle all the associated fallout.

An alternative is to limit the calculation to 1/2 INT_MAX.  The downside
being that the administrator could not tune the system to use more than
INT_MAX memory when much more is available.

Is there a compelling reason to not change the structure's definition
over to longs instead of ints and deal with the fallout from that change?

Thanks,
Robin Holt

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sysctl_{tcp,udp,sctp}_mem overflow on 16TB system.
  2010-10-01 19:39 sysctl_{tcp,udp,sctp}_mem overflow on 16TB system Robin Holt
@ 2010-10-01 20:30 ` Willy Tarreau
  2010-10-03  8:20   ` Maciej Żenczykowski
  0 siblings, 1 reply; 5+ messages in thread
From: Willy Tarreau @ 2010-10-01 20:30 UTC (permalink / raw)
  To: Robin Holt
  Cc: David S. Miller, Alexey Kuznetsov, Pekka Savola (ipv6),
	James Morris, Hideaki YOSHIFUJI, Patrick McHardy, Vlad Yasevich,
	Sridhar Samudrala, linux-kernel, netdev, linux-decnet-user,
	linux-sctp

Hello Robin,

On Fri, Oct 01, 2010 at 02:39:58PM -0500, Robin Holt wrote:
> 
> On a 16TB system, we noticed that sysctl_tcp_mem[2] and sysctl_udp_mem[2]
> were negative.  Code review indicates that the same should occur with
> sysctl_sctp_mem[2].
> 
> There are a couple ways we could address this.  The one which appears most
> reasonable would be to change the struct proto defintion for sysctl_mem
> from an int to a long and handle all the associated fallout.
> 
> An alternative is to limit the calculation to 1/2 INT_MAX.  The downside
> being that the administrator could not tune the system to use more than
> INT_MAX memory when much more is available.
> 
> Is there a compelling reason to not change the structure's definition
> over to longs instead of ints and deal with the fallout from that change?

Could we not see it differently ? => is there any reason someone would
want to assign more than 8 TB of RAM to the network buffers in the near
future ? Even at 100 Gbps, that's still 10 minutes of traffic stuck in
buffers. Probably that the day we need that large buffers, Linux won't
support 32-bit systems anymore and all such limits will have switched
to 64-bit.

So probably that limiting the value to INT_MAX/2 sounds reasonable ?

Regards,
Willy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sysctl_{tcp,udp,sctp}_mem overflow on 16TB system.
  2010-10-01 20:30 ` Willy Tarreau
@ 2010-10-03  8:20   ` Maciej Żenczykowski
  2010-10-03 11:54     ` Robin Holt
  2010-10-03 16:43     ` Willy Tarreau
  0 siblings, 2 replies; 5+ messages in thread
From: Maciej Żenczykowski @ 2010-10-03  8:20 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: Robin Holt, David S. Miller, Alexey Kuznetsov,
	Pekka Savola (ipv6), James Morris, Hideaki YOSHIFUJI,
	Patrick McHardy, Vlad Yasevich, Sridhar Samudrala, linux-kernel,
	netdev, linux-decnet-user, linux-sctp

Isn't INT_MAX/2 just 1GB, which is only ~0.9 seconds at 10 Gbps?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sysctl_{tcp,udp,sctp}_mem overflow on 16TB system.
  2010-10-03  8:20   ` Maciej Żenczykowski
@ 2010-10-03 11:54     ` Robin Holt
  2010-10-03 16:43     ` Willy Tarreau
  1 sibling, 0 replies; 5+ messages in thread
From: Robin Holt @ 2010-10-03 11:54 UTC (permalink / raw)
  To: Maciej Żenczykowski
  Cc: Willy Tarreau, Robin Holt, David S. Miller, Alexey Kuznetsov,
	Pekka Savola (ipv6), James Morris, Hideaki YOSHIFUJI,
	Patrick McHardy, Vlad Yasevich, Sridhar Samudrala, linux-kernel,
	netdev, linux-decnet-user, linux-sctp

On Sun, Oct 03, 2010 at 01:20:32AM -0700, Maciej Żenczykowski wrote:
> Isn't INT_MAX/2 just 1GB, which is only ~0.9 seconds at 10 Gbps?

Units matter.  1GB pages.  We can limit to 2GB pages or 8TB.

Robin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sysctl_{tcp,udp,sctp}_mem overflow on 16TB system.
  2010-10-03  8:20   ` Maciej Żenczykowski
  2010-10-03 11:54     ` Robin Holt
@ 2010-10-03 16:43     ` Willy Tarreau
  1 sibling, 0 replies; 5+ messages in thread
From: Willy Tarreau @ 2010-10-03 16:43 UTC (permalink / raw)
  To: Maciej ??enczykowski
  Cc: Robin Holt, David S. Miller, Alexey Kuznetsov,
	Pekka Savola (ipv6), James Morris, Hideaki YOSHIFUJI,
	Patrick McHardy, Vlad Yasevich, Sridhar Samudrala, linux-kernel,
	netdev, linux-decnet-user, linux-sctp

On Sun, Oct 03, 2010 at 01:20:32AM -0700, Maciej ??enczykowski wrote:
> Isn't INT_MAX/2 just 1GB, which is only ~0.9 seconds at 10 Gbps?

no, the size is in pages (and is often wrong when people change it
from the default value).

Regards,
Willy

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-10-03 16:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-01 19:39 sysctl_{tcp,udp,sctp}_mem overflow on 16TB system Robin Holt
2010-10-01 20:30 ` Willy Tarreau
2010-10-03  8:20   ` Maciej Żenczykowski
2010-10-03 11:54     ` Robin Holt
2010-10-03 16:43     ` Willy Tarreau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).