<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/net/sock.h, branch linux-2.6.22.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.22.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.22.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-05-31T08:23:32Z</updated>
<entry>
<title>[SOCK]: Shrink struct sock by 8 bytes on 64-bit.</title>
<updated>2007-05-31T08:23:32Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-05-29T20:17:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e07a91c37c69ec1647c218214591ee4fe3408fe'/>
<id>urn:sha1:4e07a91c37c69ec1647c218214591ee4fe3408fe</id>
<content type='text'>
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>cleanup compat ioctl handling</title>
<updated>2007-05-08T18:15:09Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2007-05-08T07:29:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6272e2667965dfb5b59199f462cd0f001fb304a6'/>
<id>urn:sha1:6272e2667965dfb5b59199f462cd0f001fb304a6</id>
<content type='text'>
Merge all compat ioctl handling into compat_ioctl.c instead of splitting it
over compat.c and compat_ioctl.c.  This also allows to get rid of ioctl32.h

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Looks-good-to: Andi Kleen &lt;ak@suse.de&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[NET]: Move sk_setup_caps() out of line.</title>
<updated>2007-04-26T05:29:26Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2007-04-21T00:12:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9958089a43ae8a9af07402461c0b2b7548c7341e'/>
<id>urn:sha1:9958089a43ae8a9af07402461c0b2b7548c7341e</id>
<content type='text'>
It is far too large to be an inline and not in any hot paths.

Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support</title>
<updated>2007-04-26T05:24:21Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-03-26T05:14:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=92f37fd2ee805aa77925c1e64fd56088b46094fc'/>
<id>urn:sha1:92f37fd2ee805aa77925c1e64fd56088b46094fc</id>
<content type='text'>
Now that network timestamps use ktime_t infrastructure, we can add a new
SOL_SOCKET sockopt  SO_TIMESTAMPNS.

This command is similar to SO_TIMESTAMP, but permits transmission of
a 'timespec struct' instead of a 'timeval struct' control message.
(nanosecond resolution instead of microsecond)

Control message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP

A socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are
mutually exclusive.

sock_recv_timestamp() became too big to be fully inlined so I added a
__sock_recv_timestamp() helper function.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: linux-arch@vger.kernel.org
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Replace CONFIG_NET_DEBUG with sysctl.</title>
<updated>2007-04-26T05:24:05Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2007-03-09T04:41:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2a316fd068c455c609ecc155dcfaa7e208d29fe'/>
<id>urn:sha1:a2a316fd068c455c609ecc155dcfaa7e208d29fe</id>
<content type='text'>
Covert network warning messages from a compile time to runtime choice.
Removes kernel config option and replaces it with new /proc/sys/net/core/warnings.

Signed-off-by: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution</title>
<updated>2007-04-26T05:24:04Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-03-19T00:33:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23'/>
<id>urn:sha1:ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23</id>
<content type='text'>
Now network timestamps use ktime_t infrastructure, we can add a new
ioctl() SIOCGSTAMPNS command to get timestamps in 'struct timespec'.
User programs can thus access to nanosecond resolution.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[TCP]: Abstract out all write queue operations.</title>
<updated>2007-04-26T05:24:02Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2007-03-07T20:12:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe067e8ab5e0dc5ca3c54634924c628da92090b4'/>
<id>urn:sha1:fe067e8ab5e0dc5ca3c54634924c628da92090b4</id>
<content type='text'>
This allows the write queue implementation to be changed,
for example, to one which allows fast interval searching.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: convert network timestamps to ktime_t</title>
<updated>2007-04-26T05:23:34Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-04-19T23:16:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7aa0bf70c4afb9e38be25f5c0922498d0f8684c'/>
<id>urn:sha1:b7aa0bf70c4afb9e38be25f5c0922498d0f8684c</id>
<content type='text'>
We currently use a special structure (struct skb_timeval) and plain
'struct timeval' to store packet timestamps in sk_buffs and struct
sock.

This has some drawbacks :
- Fixed resolution of micro second.
- Waste of space on 64bit platforms where sizeof(struct timeval)=16

I suggest using ktime_t that is a nice abstraction of high resolution
time services, currently capable of nanosecond resolution.

As sizeof(ktime_t) is 8 bytes, using ktime_t in 'struct sock' permits
a 8 byte shrink of this structure on 64bit architectures. Some other
structures also benefit from this size reduction (struct ipq in
ipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)

Once this ktime infrastructure adopted, we can more easily provide
nanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or
SO_TIMESTAMPNS/SCM_TIMESTAMPNS)

Note : this patch includes a bug correction in
compat_sock_get_timestamp() where a "err = 0;" was missing (so this
syscall returned -ENOENT instead of 0)

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
CC: John find &lt;linux.kernel@free.fr&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Keep sk_backlog near sk_lock</title>
<updated>2007-04-26T05:23:27Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-03-05T00:05:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa438ccfdfd3f6db02c13b61b21454eb81cd6a13'/>
<id>urn:sha1:fa438ccfdfd3f6db02c13b61b21454eb81cd6a13</id>
<content type='text'>
sk_backlog is a critical field of struct sock. (known famous words)

It is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(),
tcp_v4_rcv(), sk_receive_skb().

It really makes sense to place it next to sk_lock, because sk_backlog is only
used after sk_lock locked (and thus memory cache line in L1 cache). This
should reduce cache misses and sk_lock acquisition time.

(In theory, we could only move the head pointer near sk_lock, and leaving tail
far away, because 'tail' is normally not so hot, but keep it simple :) )

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]: Revert incorrect accept queue backlog changes.</title>
<updated>2007-03-06T19:21:05Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2007-03-06T19:21:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64a146513f8f12ba204b7bf5cb7e9505594ead42'/>
<id>urn:sha1:64a146513f8f12ba204b7bf5cb7e9505594ead42</id>
<content type='text'>
This reverts two changes:

8488df894d05d6fa41c2bd298c335f944bb0e401
248f06726e866942b3d8ca8f411f9067713b7ff8

A backlog value of N really does mean allow "N + 1" connections
to queue to a listening socket.  This allows one to specify
"0" as the backlog and still get 1 connection.

Noticed by Gerrit Renker and Rick Jones.

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