<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/net/sock.h, branch linux-2.6.25.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-02-19T04:52:13Z</updated>
<entry>
<title>net: fix kernel-doc warnings in header files</title>
<updated>2008-02-19T04:52:13Z</updated>
<author>
<name>Randy Dunlap</name>
</author>
<published>2008-02-19T04:52:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31729363418ea25b01aa9410838c38e36792e44c'/>
<id>urn:sha1:31729363418ea25b01aa9410838c38e36792e44c</id>
<content type='text'>
Add missing structure kernel-doc descriptions to sock.h &amp; skbuff.h
to fix kernel-doc warnings.

(I think that Stephen H. sent a similar patch, but I can't find it.
I just want to kill the warnings, with either patch.)

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SOCK] proto: Add hashinfo member to struct proto</title>
<updated>2008-02-03T12:28:52Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2008-02-03T12:06:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab1e0a13d70299e792fd0527cefd070c1405fa5b'/>
<id>urn:sha1:ab1e0a13d70299e792fd0527cefd070c1405fa5b</id>
<content type='text'>
This way we can remove TCP and DCCP specific versions of

sk-&gt;sk_prot-&gt;get_port: both v4 and v6 use inet_csk_get_port
sk-&gt;sk_prot-&gt;hash:     inet_hash is directly used, only v6 need
                       a specific version to deal with mapped sockets
sk-&gt;sk_prot-&gt;unhash:   both v4 and v6 use inet_hash directly

struct inet_connection_sock_af_ops also gets a new member, bind_conflict, so
that inet_csk_get_port can find the per family routine.

Now only the lookup routines receive as a parameter a struct inet_hashtable.

With this we further reuse code, reducing the difference among INET transport
protocols.

Eventually work has to be done on UDP and SCTP to make them share this
infrastructure and get as a bonus inet_diag interfaces so that iproute can be
used with these protocols.

net-2.6/net/ipv4/inet_hashtables.c:
  struct proto			     |   +8
  struct inet_connection_sock_af_ops |   +8
 2 structs changed
  __inet_hash_nolisten               |  +18
  __inet_hash                        | -210
  inet_put_port                      |   +8
  inet_bind_bucket_create            |   +1
  __inet_hash_connect                |   -8
 5 functions changed, 27 bytes added, 218 bytes removed, diff: -191

net-2.6/net/core/sock.c:
  proto_seq_show                     |   +3
 1 function changed, 3 bytes added, diff: +3

net-2.6/net/ipv4/inet_connection_sock.c:
  inet_csk_get_port                  |  +15
 1 function changed, 15 bytes added, diff: +15

net-2.6/net/ipv4/tcp.c:
  tcp_set_state                      |   -7
 1 function changed, 7 bytes removed, diff: -7

net-2.6/net/ipv4/tcp_ipv4.c:
  tcp_v4_get_port                    |  -31
  tcp_v4_hash                        |  -48
  tcp_v4_destroy_sock                |   -7
  tcp_v4_syn_recv_sock               |   -2
  tcp_unhash                         | -179
 5 functions changed, 267 bytes removed, diff: -267

net-2.6/net/ipv6/inet6_hashtables.c:
  __inet6_hash |   +8
 1 function changed, 8 bytes added, diff: +8

net-2.6/net/ipv4/inet_hashtables.c:
  inet_unhash                        | +190
  inet_hash                          | +242
 2 functions changed, 432 bytes added, diff: +432

vmlinux:
 16 functions changed, 485 bytes added, 492 bytes removed, diff: -7

/home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c:
  tcp_v6_get_port                    |  -31
  tcp_v6_hash                        |   -7
  tcp_v6_syn_recv_sock               |   -9
 3 functions changed, 47 bytes removed, diff: -47

/home/acme/git/net-2.6/net/dccp/proto.c:
  dccp_destroy_sock                  |   -7
  dccp_unhash                        | -179
  dccp_hash                          |  -49
  dccp_set_state                     |   -7
  dccp_done                          |   +1
 5 functions changed, 1 bytes added, 242 bytes removed, diff: -241

/home/acme/git/net-2.6/net/dccp/ipv4.c:
  dccp_v4_get_port                   |  -31
  dccp_v4_request_recv_sock          |   -2
 2 functions changed, 33 bytes removed, diff: -33

/home/acme/git/net-2.6/net/dccp/ipv6.c:
  dccp_v6_get_port                   |  -31
  dccp_v6_hash                       |   -7
  dccp_v6_request_recv_sock          |   +5
 3 functions changed, 5 bytes added, 38 bytes removed, diff: -33

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Introducing socket mark socket option.</title>
<updated>2008-02-01T03:27:19Z</updated>
<author>
<name>Laszlo Attila Toth</name>
</author>
<published>2008-01-31T03:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a19ec5800fc3bb64e2d87c4d9fdd9e636086fe0'/>
<id>urn:sha1:4a19ec5800fc3bb64e2d87c4d9fdd9e636086fe0</id>
<content type='text'>
A userspace program may wish to set the mark for each packets its send
without using the netfilter MARK target. Changing the mark can be used
for mark based routing without netfilter or for packet filtering.

It requires CAP_NET_ADMIN capability.

Signed-off-by: Laszlo Attila Toth &lt;panther@balabit.hu&gt;
Acked-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer().</title>
<updated>2008-01-28T23:01:42Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-01-11T05:56:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9993e7d313e80bdc005d09c7def91903e0068f07'/>
<id>urn:sha1:9993e7d313e80bdc005d09c7def91903e0068f07</id>
<content type='text'>
Otherwise we beat heavily on the global tcp_memory atomics
when all of the sockets in the system are slowly sending
perioding packet clumps.

Noticed and suggested by Eric Dumazet.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: prot_inuse cleanups and optimizations</title>
<updated>2008-01-28T23:00:36Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2008-01-04T04:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65f7651788e18fadb2fbb7276af935d7871e1803'/>
<id>urn:sha1:65f7651788e18fadb2fbb7276af935d7871e1803</id>
<content type='text'>
1) Cleanups (all functions are prefixed by sock_prot_inuse)

sock_prot_inc_use(prot) -&gt; sock_prot_inuse_add(prot,-1)
sock_prot_dec_use(prot) -&gt; sock_prot_inuse_add(prot,-1)
sock_prot_inuse()       -&gt; sock_prot_inuse_get()

New functions :

sock_prot_inuse_init() and sock_prot_inuse_free() to abstract pcounter use.

2) if CONFIG_PROC_FS=n, we can zap 'inuse' member from "struct proto",
since nobody wants to read the inuse value.

This saves 1372 bytes on i386/SMP and some cpu cycles.

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] CORE: Introducing new memory accounting interface.</title>
<updated>2008-01-28T23:00:18Z</updated>
<author>
<name>Hideo Aoki</name>
</author>
<published>2007-12-31T08:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ab224be6d69de912ee21302745ea45a99274dbc'/>
<id>urn:sha1:3ab224be6d69de912ee21302745ea45a99274dbc</id>
<content type='text'>
This patch introduces new memory accounting functions for each network
protocol. Most of them are renamed from memory accounting functions
for stream protocols. At the same time, some stream memory accounting
functions are removed since other functions do same thing.

Renaming:
	sk_stream_free_skb()		-&gt;	sk_wmem_free_skb()
	__sk_stream_mem_reclaim()	-&gt;	__sk_mem_reclaim()
	sk_stream_mem_reclaim()		-&gt;	sk_mem_reclaim()
	sk_stream_mem_schedule 		-&gt;    	__sk_mem_schedule()
	sk_stream_pages()      		-&gt;	sk_mem_pages()
	sk_stream_rmem_schedule()	-&gt;	sk_rmem_schedule()
	sk_stream_wmem_schedule()	-&gt;	sk_wmem_schedule()
	sk_charge_skb()			-&gt;	sk_mem_charge()

Removeing
	sk_stream_rfree():	consolidates into sock_rfree()
	sk_stream_set_owner_r(): consolidates into skb_set_owner_r()
	sk_stream_mem_schedule()

The following functions are added.
    	sk_has_account(): check if the protocol supports accounting
	sk_mem_uncharge(): do the opposite of sk_mem_charge()

In addition, to achieve consolidation, updating sk_wmem_queued is
removed from sk_mem_charge().

Next, to consolidate memory accounting functions, this patch adds
memory accounting calls to network core functions. Moreover, present
memory accounting call is renamed to new accounting call.

Finally we replace present memory accounting calls with new interface
in TCP and SCTP.

Signed-off-by: Takahiro Yasui &lt;tyasui@redhat.com&gt;
Signed-off-by: Hideo Aoki &lt;haoki@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SOCK] Avoid divides in sk_stream_pages() and __sk_stream_mem_reclaim()</title>
<updated>2008-01-28T23:00:05Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-12-25T04:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21371f768bf7127ee45bfaadd17899df6a439e8f'/>
<id>urn:sha1:21371f768bf7127ee45bfaadd17899df6a439e8f</id>
<content type='text'>
sk_forward_alloc being signed, we should take care of divides by
SK_STREAM_MEM_QUANTUM we do in sk_stream_pages() and
__sk_stream_mem_reclaim()

This patchs introduces SK_STREAM_MEM_QUANTUM_SHIFT, defined
as ilog2(SK_STREAM_MEM_QUANTUM), to be able to use right
shifts instead of plain divides.

This should help compiler to choose right shifts instead of
expensive divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86)

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>[SOCK] Avoid integer divides where not necessary in include/net/sock.h</title>
<updated>2008-01-28T22:59:59Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-12-21T11:07:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8df09ea3b8ccfe0c94844102d33fa46f57c08d9e'/>
<id>urn:sha1:8df09ea3b8ccfe0c94844102d33fa46f57c08d9e</id>
<content type='text'>
Because sk_wmem_queued, sk_sndbuf are signed, a divide per two
may force compiler to use an integer divide.

We can instead use a right shift.

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]: Remove FASTCALL macro</title>
<updated>2008-01-28T22:57:23Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2007-12-12T18:46:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=41380930d2cbdc0abf7513a675864258b7ac973d'/>
<id>urn:sha1:41380930d2cbdc0abf7513a675864258b7ac973d</id>
<content type='text'>
X86_32 was the last user of the FASTCALL macro, now that it
uses regparm(3) by default, this macro expands to nothing.

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Isolate the net/core/ sysctl table</title>
<updated>2008-01-28T22:56:26Z</updated>
<author>
<name>Pavel Emelyanov</name>
</author>
<published>2007-12-05T09:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=33eb9cfc700ae9ce621d47d6ca6d6b4ad7cd97f3'/>
<id>urn:sha1:33eb9cfc700ae9ce621d47d6ca6d6b4ad7cd97f3</id>
<content type='text'>
Using ctl paths we can put all the stuff, related to net/core/
sysctl table, into one file and remove all the references on it.

As a good side effect this hides the "core_table" name from
the global scope :)

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
