<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/core/request_sock.c, branch v3.0.36</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/core/request_sock.c?h=v3.0.36</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/core/request_sock.c?h=v3.0.36'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-12-08T21:47:38Z</updated>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2010-12-08T21:47:38Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-12-08T21:15:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fe6c791570efe717946ea7b7dd50aec96b70d551'/>
<id>urn:sha1:fe6c791570efe717946ea7b7dd50aec96b70d551</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
	net/llc/af_llc.c
</content>
</entry>
<entry>
<title>tcp: Add timewait recycling bits to ipv6 connect code.</title>
<updated>2010-12-02T20:14:29Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-12-02T20:14:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=493f377d6dd56f4e98b198d637fe714ab124681b'/>
<id>urn:sha1:493f377d6dd56f4e98b198d637fe714ab124681b</id>
<content type='text'>
This will also improve handling of ipv6 tcp socket request
backlog when syncookies are not enabled.  When backlog
becomes very deep, last quarter of backlog is limited to
validated destinations.  Previously only ipv4 implemented
this logic, but now ipv6 does too.

Now we are only one step away from enabling timewait
recycling for ipv6, and that step is simply filling in
the implementation of tcp_v6_get_peer() and
tcp_v6_tw_get_peer().

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: allow GFP_HIGHMEM in __vmalloc()</title>
<updated>2010-11-21T18:04:04Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-11-20T07:46:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7a1c8e5ab120a5f352e78bbc1fa5bb64e6f23639'/>
<id>urn:sha1:7a1c8e5ab120a5f352e78bbc1fa5bb64e6f23639</id>
<content type='text'>
We forgot to use __GFP_HIGHMEM in several __vmalloc() calls.

In ceph, add the missing flag.

In fib_trie.c, xfrm_hash.c and request_sock.c, using vzalloc() is
cleaner and allows using HIGHMEM pages as well.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: convert BUG_TRAP to generic WARN_ON</title>
<updated>2008-07-26T04:43:18Z</updated>
<author>
<name>Ilpo Järvinen</name>
<email>ilpo.jarvinen@helsinki.fi</email>
</author>
<published>2008-07-26T04:43:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=547b792cac0a038b9dbf958d3c120df3740b5572'/>
<id>urn:sha1:547b792cac0a038b9dbf958d3c120df3740b5572</id>
<content type='text'>
Removes legacy reinvent-the-wheel type thing. The generic
machinery integrates much better to automated debugging aids
such as kerneloops.org (and others), and is unambiguous due to
better naming. Non-intuively BUG_TRAP() is actually equal to
WARN_ON() rather than BUG_ON() though some might actually be
promoted to BUG_ON() but I left that to future.

I could make at least one BUILD_BUG_ON conversion.

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET] net/core/request_sock.c: Remove unused exports.</title>
<updated>2008-01-28T22:54:33Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2007-11-20T06:45:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=02d45827fa211093202f96bdd58020cc8687929f'/>
<id>urn:sha1:02d45827fa211093202f96bdd58020cc8687929f</id>
<content type='text'>
This patch removes the following unused EXPORT_SYMBOL's:
- reqsk_queue_alloc
- __reqsk_queue_destroy
- reqsk_queue_destroy

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[INET]: Fix potential kfree on vmalloc-ed area of request_sock_queue</title>
<updated>2007-11-15T10:57:06Z</updated>
<author>
<name>Pavel Emelyanov</name>
<email>xemul@openvz.org</email>
</author>
<published>2007-11-15T10:57:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dab6ba36888a12f3e3edff71eeef968fc159178a'/>
<id>urn:sha1:dab6ba36888a12f3e3edff71eeef968fc159178a</id>
<content type='text'>
The request_sock_queue's listen_opt is either vmalloc-ed or
kmalloc-ed depending on the number of table entries. Thus it 
is expected to be handled properly on free, which is done in 
the reqsk_queue_destroy().

However the error path in inet_csk_listen_start() calls 
the lite version of reqsk_queue_destroy, called 
__reqsk_queue_destroy, which calls the kfree unconditionally. 

Fix this and move the __reqsk_queue_destroy into a .c file as 
it looks too big to be inline.

As David also noticed, this is an error recovery path only,
so no locking is required and the lopt is known to be not NULL.

reqsk_queue_yank_listen_sk is also now only used in
net/core/request_sock.c so we should move it there too.

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Acked-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Size listen hash tables using backlog hint</title>
<updated>2006-12-03T05:21:44Z</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2006-11-16T10:30:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=72a3effaf633bcae9034b7e176bdbd78d64a71db'/>
<id>urn:sha1:72a3effaf633bcae9034b7e176bdbd78d64a71db</id>
<content type='text'>
We currently allocate a fixed size (TCP_SYNQ_HSIZE=512) slots hash table for
each LISTEN socket, regardless of various parameters (listen backlog for
example)

On x86_64, this means order-1 allocations (might fail), even for 'small'
sockets, expecting few connections. On the contrary, a huge server wanting a
backlog of 50000 is slowed down a bit because of this fixed limit.

This patch makes the sizing of listen hash table a dynamic parameter,
depending of :
- net.core.somaxconn tunable (default is 128)
- net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128)
- backlog value given by user application  (2nd parameter of listen())

For large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of
kmalloc().

We still limit memory allocation with the two existing tunables (somaxconn &amp;
tcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM
usage.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: More kzalloc conversions.</title>
<updated>2006-04-10T05:25:48Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2006-04-07T21:52:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=77d04bd957ddca9d48a664e28b40f33993f4550e'/>
<id>urn:sha1:77d04bd957ddca9d48a664e28b40f33993f4550e</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: drop duplicate assignment in request_sock</title>
<updated>2006-03-27T01:39:55Z</updated>
<author>
<name>Norbert Kiesel</name>
<email>nkiesel@tbdnetworks.com</email>
</author>
<published>2006-03-27T01:39:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3eb4801d7bde42b82f05137392a1ee0ece090bad'/>
<id>urn:sha1:3eb4801d7bde42b82f05137392a1ee0ece090bad</id>
<content type='text'>
Just noticed that request_sock.[ch] contain a useless assignment of
rskq_accept_head to itself.  I assume this is a typo and the 2nd one
was supposed to be _tail.  However, setting _tail to NULL is not
needed, so the patch below just drops the 2nd assignment.

Signed-off-By: Norbert Kiesel &lt;nkiesel@tbdnetworks.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[REQSK]: Don't reset rskq_defer_accept in reqsk_queue_alloc</title>
<updated>2006-02-27T21:30:43Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@mandriva.com</email>
</author>
<published>2006-02-27T21:30:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ba13c98405ba44d37d148376c6615e6c8babbfdc'/>
<id>urn:sha1:ba13c98405ba44d37d148376c6615e6c8babbfdc</id>
<content type='text'>
In 295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9 I moved defer_accept from
tcp_sock to request_queue and mistakingly reset it at reqsl_queue_alloc, causing
calls to setsockopt(TCP_DEFER_ACCEPT ) to be lost after bind, the fix is to
remove the zeroing of rskq_defer_accept from reqsl_queue_alloc.

Thanks to Alexandra N. Kossovsky &lt;Alexandra.Kossovsky@oktetlabs.ru&gt; for
reporting and testing the suggested fix.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@mandriva.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
