freebsd-dev/sys/netinet
Davide Italiano 5b999a6be0 - Make callout(9) tickless, relying on eventtimers(4) as backend for
precise time event generation. This greatly improves granularity of
callouts which are not anymore constrained to wait next tick to be
scheduled.
- Extend the callout KPI introducing a set of callout_reset_sbt* functions,
which take a sbintime_t as timeout argument. The new KPI also offers a
way for consumers to specify precision tolerance they allow, so that
callout can coalesce events and reduce number of interrupts as well as
potentially avoid scheduling a SWI thread.
- Introduce support for dispatching callouts directly from hardware
interrupt context, specifying an additional flag. This feature should be
used carefully, as long as interrupt context has some limitations
(e.g. no sleeping locks can be held).
- Enhance mechanisms to gather informations about callwheel, introducing
a new sysctl to obtain stats.

This change breaks the KBI. struct callout fields has been changed, in
particular 'int ticks' (4 bytes) has been replaced with 'sbintime_t'
(8 bytes) and another 'sbintime_t' field was added for precision.

Together with:	mav
Reviewed by:	attilio, bde, luigi, phk
Sponsored by:	Google Summer of Code 2012, iXsystems inc.
Tested by:	flo (amd64, sparc64), marius (sparc64), ian (arm),
		markj (amd64), mav, Fabian Keil
2013-03-04 11:09:56 +00:00
..
cc
khelp
libalias - Move AUTHORS and ACKNOWLEDGEMENTS to the end of the page. 2013-01-31 10:29:22 +00:00
accf_data.c
accf_dns.c
accf_http.c
cc.h
icmp6.h
icmp_var.h
if_atm.c
if_atm.h
if_ether.c Fix problem in r238990. The LLE_LINKED flag should be tested prior to 2012-12-13 11:11:15 +00:00
if_ether.h Retire struct sockaddr_inarp. 2013-01-31 08:55:21 +00:00
igmp_var.h
igmp.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
igmp.h
in_cksum.c
in_debug.c
in_gif.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
in_gif.h
in_mcast.c
in_pcb.c Remove redundant test, we know inp_lport is 0. 2013-01-25 20:14:27 +00:00
in_pcb.h
in_pcbgroup.c
in_proto.c
in_rmx.c Cleanup documentation: cloning route support has been removed in r186119. 2012-10-13 09:31:01 +00:00
in_systm.h
in_var.h Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
in.c Retire struct sockaddr_inarp. 2013-01-31 08:55:21 +00:00
in.h Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip6.h
ip_carp.c Resolve source address selection in presense of CARP. Add a couple 2013-02-11 10:58:22 +00:00
ip_carp.h Resolve source address selection in presense of CARP. Add a couple 2013-02-11 10:58:22 +00:00
ip_divert.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_divert.h
ip_dummynet.h
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c Remove the recently added sysctl variable net.pfil.forward. 2012-11-02 01:20:55 +00:00
ip_fw.h
ip_gre.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_gre.h
ip_icmp.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ip_icmp.h
ip_id.c
ip_input.c ip_savecontrol() style fixes. No functional changes. 2013-02-20 15:44:40 +00:00
ip_ipsec.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
ip_ipsec.h
ip_mroute.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ip_mroute.h
ip_options.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ip_options.h In ip_stripoptions(): 2012-10-12 09:24:24 +00:00
ip_output.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ip_var.h Remove the recently added sysctl variable net.pfil.forward. 2012-11-02 01:20:55 +00:00
ip.h
pim_var.h
pim.h
raw_ip.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
sctp_asconf.c Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_asconf.h
sctp_auth.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
sctp_auth.h
sctp_bsd_addr.c
sctp_bsd_addr.h
sctp_cc_functions.c
sctp_constants.h Get the accounting working. We now have counters how many 2012-11-16 19:39:10 +00:00
sctp_crc32.c
sctp_crc32.h
sctp_dtrace_declare.h
sctp_dtrace_define.h
sctp_header.h
sctp_indata.c Don't send kernel provided information in the User Initiated 2013-02-11 13:57:03 +00:00
sctp_indata.h
sctp_input.c Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_input.h
sctp_lock_bsd.h
sctp_os_bsd.h
sctp_os.h
sctp_output.c Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_output.h Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_pcb.c Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_pcb.h Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_peeloff.c Add support for sctp_peeloff() also in the front states of the 2012-11-26 16:44:03 +00:00
sctp_peeloff.h Remove unused function. 2012-11-25 14:25:08 +00:00
sctp_ss_functions.c
sctp_structs.h Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_sysctl.c Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctp_sysctl.h
sctp_timer.c Fix a bug where HEARTBEATs were still sent in SHUTDOWN_SENT or 2013-02-09 08:27:08 +00:00
sctp_timer.h
sctp_uio.h Whitespace changes due to upstream integration of SCTP changes in the 2012-10-29 20:47:32 +00:00
sctp_usrreq.c Send the adaptation layer indication only if set by the user. 2013-02-11 21:02:49 +00:00
sctp_var.h Whitespace changes due to upstream integration of SCTP changes in the 2012-10-29 20:47:32 +00:00
sctp.h Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK 2013-02-09 17:26:14 +00:00
sctputil.c Fix a potential race in returning setting errno when an 2013-02-27 19:51:47 +00:00
sctputil.h Add support for SCTP/UDP/IPV6. 2012-11-17 20:04:04 +00:00
siftr.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_debug.c Switch the entire IPv4 stack to keep the IP packet header 2012-10-22 21:09:03 +00:00
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c - Update cachelimit after hashsize and bucketlimit were set. 2012-10-19 14:00:03 +00:00
tcp_hostcache.h
tcp_input.c Simplify and fix a bug in cc_ack_received()'s "are we congestion window limited" 2013-01-22 09:44:21 +00:00
tcp_lro.c Fix tcp_lro_rx_ipv4() for drivers that do not set CSUM_IP_CHECKED. 2013-02-21 17:00:35 +00:00
tcp_lro.h
tcp_offload.c
tcp_offload.h
tcp_output.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
tcp_reass.c uma_zone_set_max() directly returns the rounded effective zone 2013-02-01 14:21:09 +00:00
tcp_sack.c
tcp_seq.h
tcp_subr.c More warnings for zones that depend on the kern.ipc.maxsockets limit. 2012-12-08 12:51:06 +00:00
tcp_syncache.c uma_zone_set_max() directly returns the rounded effective zone 2013-02-01 14:21:09 +00:00
tcp_syncache.h Change the syncache count reporting the current number of entries 2012-10-28 18:07:34 +00:00
tcp_timer.c - Make callout(9) tickless, relying on eventtimers(4) as backend for 2013-03-04 11:09:56 +00:00
tcp_timer.h Add DELACK to list of timers. 2012-11-27 19:07:28 +00:00
tcp_timewait.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
tcp_usrreq.c Add checks for SO_NO_OFFLOAD in a couple of places that I missed earlier 2013-01-26 01:41:42 +00:00
tcp_var.h Increase the initial CWND to 10 segments as defined in IETF TCPM 2012-10-28 19:47:46 +00:00
tcp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00
tcpip.h
toecore.c Teach toe_l2_resolve to resolve IPv6 destinations too. 2013-01-26 00:57:29 +00:00
toecore.h
udp_usrreq.c More warnings for zones that depend on the kern.ipc.maxsockets limit. 2012-12-08 12:51:06 +00:00
udp_var.h
udp.h Add placeholder constants to reserve a portion of the socket option 2013-02-01 15:32:20 +00:00