Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1206284
| From | Sorin Dumitru <sorin@returnze.ro> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] net: Use SK_MEM_QUANTUM as minimum for tcp/udp rmem/wmem |
| Date | 2015-08-12 19:10 +0200 |
| Message-ID | <pWHHl-2fW-39@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <pVO89-4Pi-3@gated-at.bofh.it> <pW8zT-1qd-5@gated-at.bofh.it> <pW8JB-1BB-33@gated-at.bofh.it> <pWwiS-24c-13@gated-at.bofh.it> <pWFcu-70d-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Aug 12, 2015 at 5:21 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Tue, 2015-08-11 at 21:54 -0700, Calvin Owens wrote:
>> Commit 8133534c760d4083 ("net: limit tcp/udp rmem/wmem to
>> SOCK_{RCV,SND}BUF_MIN") modified four sysctls to enforce that the values
>> written to them are not less than SOCK_MIN_{RCV,SND}BUF.
>>
>> That change causes 4096 (or SK_MEM_QUANTUM) to no longer be accepted as
>> a valid value for 'min' in tcp_wmem and udp_wmem_min. 4096 has been the
>> default for both of those sysctls for a long time, and unfortunately
>> seems to be an extremely popular setting. This change breaks a large
>> number of sysctl configurations at FB.
>>
>> That commit referred to b1cb59cf2efe7971 ("net: sysctl_net_core: check
>> SNDBUF and RCVBUF for min length"), which choose to use the SOCK_MIN
>> constants as the lower limits to avoid nasty bugs. But AFAICS, a limit
>> of SOCK_MIN_SNDBUF isn't necessary to do that: the BUG_ON cited in the
>> commit message seems to have happened because unix_stream_sendmsg()
>> expects a minimum of a full page (ie SK_MEM_QUANTUM) and the math broke,
>> not because it had less than SOCK_MIN_SNDBUF allocated.
>>
>> Nothing seems to assume that it has at least SOCK_MIN_SNDBUF to play
>> with, so I think enforcing a minimum of SK_MEM_QUANTUM avoids the sort
>> of bugs 8133534c was trying to avoid, and it does so without breaking
>> anybody's sysctl configurations.
>>
>> Fixes: 8133534c760d4083 ("net: limit tcp/udp rmem/wmem to SOCK_MIN...")
>> Signed-off-by: Calvin Owens <calvinowens@fb.com>
>> ---
>
> #define SK_MEM_QUANTUM ((int)PAGE_SIZE)
>
> Some arches have PAGE_SIZE = 65536
>
> So your patch might break scripts as well for them.
>
> We should revert 8133534c760d4083.
>
Would clamping the values to a min value, like setsockopt(SO_SNDBUF)
does, be an option?
I still find it odd that SO_SNDBUF limits you, while the /proc
interface doesn't. If you think it's
too much, I'm ok with reverting it since it affects scripts.
On those arches where PAGE_SIZE == 64K(or > 16K) it looks like we have
tcp_wmem[1]
smaller than tcp_wmem[0]. Shouldn't we do something about this?
--
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/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] net: Unbreak resetting default values for tcp_wmem/udp_wmem_min Calvin Owens <calvinowens@fb.com> - 2015-08-05 22:30 +0200
Re: [PATCH] net: Unbreak resetting default values for tcp_wmem/udp_wmem_min David Miller <davem@davemloft.net> - 2015-08-10 07:50 +0200
Re: [PATCH] net: Unbreak resetting default values for tcp_wmem/udp_wmem_min Calvin Owens <calvinowens@fb.com> - 2015-08-11 05:40 +0200
Re: [PATCH] net: Unbreak resetting default values for tcp_wmem/udp_wmem_min David Miller <davem@davemloft.net> - 2015-08-11 05:50 +0200
[PATCH] net: Use SK_MEM_QUANTUM as minimum for tcp/udp rmem/wmem Calvin Owens <calvinowens@fb.com> - 2015-08-12 07:00 +0200
Re: [PATCH] net: Use SK_MEM_QUANTUM as minimum for tcp/udp rmem/wmem Eric Dumazet <eric.dumazet@gmail.com> - 2015-08-12 16:30 +0200
Re: [PATCH] net: Use SK_MEM_QUANTUM as minimum for tcp/udp rmem/wmem Sorin Dumitru <sorin@returnze.ro> - 2015-08-12 19:10 +0200
Re: [PATCH] net: Use SK_MEM_QUANTUM as minimum for tcp/udp rmem/wmem Eric Dumazet <eric.dumazet@gmail.com> - 2015-08-12 19:50 +0200
Re: [PATCH] net: Use SK_MEM_QUANTUM as minimum for tcp/udp rmem/wmem Calvin Owens <calvinowens@fb.com> - 2015-08-13 23:10 +0200
[PATCH] Revert "net: limit tcp/udp rmem/wmem to SOCK_{RCV,SND}BUF_MIN" Calvin Owens <calvinowens@fb.com> - 2015-08-13 23:30 +0200
Re: [PATCH] Revert "net: limit tcp/udp rmem/wmem to SOCK_{RCV,SND}BUF_MIN" Eric Dumazet <eric.dumazet@gmail.com> - 2015-08-14 01:00 +0200
Re: [PATCH] Revert "net: limit tcp/udp rmem/wmem to SOCK_{RCV,SND}BUF_MIN" David Miller <davem@davemloft.net> - 2015-08-17 21:20 +0200
csiph-web