linux/net/core
Eric Dumazet b7aa0bf70c [NET]: convert network timestamps to ktime_t
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 <dada1@cosmosbay.com>
CC: Stephen Hemminger <shemminger@linux-foundation.org>
CC: John find <linux.kernel@free.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-04-25 22:23:34 -07:00
..
Makefile [NET]: The scheduled removal of the frame diverter. 2006-12-02 21:22:23 -08:00
datagram.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
dev.c [NET]: convert network timestamps to ktime_t 2007-04-25 22:23:34 -07:00
dev_mcast.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
dst.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ethtool.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
fib_rules.c [NET]: Change "not found" return value for rule lookup 2007-04-02 13:30:51 -07:00
filter.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
flow.c [IPSEC] flow: Fix potential memory leak 2007-01-23 20:25:39 -08:00
gen_estimator.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
gen_stats.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
iovec.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
kmap_skb.h [PATCH] severing skbuff.h -> highmem.h 2006-12-04 02:00:29 -05:00
link_watch.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
neighbour.c [NET]: Set a separate lockdep class for neighbour table's proxy_queue 2007-04-17 13:13:31 -07:00
net-sysfs.c Merge branch 'gfar' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into upstream 2007-02-17 15:09:59 -05:00
netevent.c [NET]: Network Event Notifier Mechanism. 2006-08-02 13:38:20 -07:00
netpoll.c [NET]: Fix UDP checksum issue in net poll mode. 2007-04-17 13:13:26 -07:00
pktgen.c [PKTGEN]: fix device name handling 2007-04-25 22:23:31 -07:00
request_sock.c [NET]: Size listen hash tables using backlog hint 2006-12-02 21:21:44 -08:00
rtnetlink.c [PATCH] WE-22 : prevent information leak on 64 bit 2007-03-27 14:10:26 -04:00
scm.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
skbuff.c [NET]: Get rid of alloc_skb_from_cache 2007-04-17 13:13:16 -07:00
sock.c [NET]: convert network timestamps to ktime_t 2007-04-25 22:23:34 -07:00
stream.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
sysctl_net_core.c [NET]: The scheduled removal of the frame diverter. 2006-12-02 21:22:23 -08:00
user_dma.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
utils.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
wireless.c [PATCH] WE-22 : prevent information leak on 64 bit 2007-03-27 14:10:26 -04:00