The NetBSD Project

CVS log for src/sys/netinet/tcp_vtw.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / netinet

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 11 08:09:20 2022 UTC (15 months, 2 weeks ago) by mlelstv
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.9: +6 -2 lines
Diff to previous 1.9 (colored) to selected 1.7 (colored)

Need larger fat pointers for 128bit cache lines.

Revision 1.8.14.1 / (download) - annotate - [select for diffs], Sun Apr 22 07:20:28 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.8: +9 -9 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.7 (colored)

Sync with HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Thu Apr 19 21:21:44 2018 UTC (5 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-sunxi-drm-base, bouyer-sunxi-drm, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.8: +9 -9 lines
Diff to previous 1.8 (colored) to selected 1.7 (colored)

s/static inline/static __inline/g for consistency.

Revision 1.5.12.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:04 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.5.12.1: +0 -2 lines
Diff to previous 1.5.12.1 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.7 (colored)

update from HEAD

Revision 1.6.14.2 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:59 2017 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.6.14.1: +1 -2 lines
Diff to previous 1.6.14.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

Sync with HEAD

Revision 1.7.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:51 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.7: +1 -2 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.8 / (download) - annotate - [select for diffs], Tue Dec 13 08:29:03 2016 UTC (7 years, 3 months ago) by ozaki-r
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-compat-base, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat
Changes since 1.7: +1 -2 lines
Diff to previous 1.7 (colored)

Remove unnecessary inclusions of nd6.h

Revision 1.6.14.1 / (download) - annotate - [select for diffs], Sun May 29 08:44:38 2016 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.6: +1 -2 lines
Diff to previous 1.6 (colored) to selected 1.7 (colored)

Sync with HEAD

Revision 1.7 / (download) - annotate - [selected], Tue Apr 26 08:44:45 2016 UTC (7 years, 11 months ago) by ozaki-r
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.6: +1 -2 lines
Diff to previous 1.6 (colored)

Sweep unnecessary route.h inclusions

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Wed Jul 17 03:16:31 2013 UTC (10 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.6: +24 -3 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Checkpoint work in progress:
- Move PCB structures under __INPCB_PRIVATE, adjust most of the callers
  and thus make IPv4 PCB structures mostly opaque.  Any volunteers for
  merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)?
- Move various global vars to the modules where they belong, make them static.
- Some preliminary work for IPv4 PCB locking scheme.
- Make raw IP code mostly MP-safe.  Simplify some of it.
- Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe.  It should
  run from a software interrupt, rather than hard.
- Rework tun(4) pseudo interface to be MP-safe.
- Work towards making some other interfaces more strict.

Revision 1.5.12.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:05 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored) to selected 1.7 (colored)

resync with head

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:49 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored) next main 1.6 (colored) to selected 1.7 (colored)

sync with (a bit old) head

Revision 1.6 / (download) - annotate - [select for diffs], Fri Nov 23 14:48:31 2012 UTC (11 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet, nick-nhusb
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored) to selected 1.7 (colored)

Add RCS keyword. Avoid overflow in constant.

Revision 1.3.4.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:26 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.3: +3 -0 lines
Diff to previous 1.3 (colored) next main 1.4 (colored) to selected 1.7 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Sun Jun 12 00:24:30 2011 UTC (12 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3.2.2: +3 -0 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.7 (colored)

sync with head

Revision 1.5 / (download) - annotate - [select for diffs], Tue Jun 7 22:51:32 2011 UTC (12 years, 9 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.4: +2 -0 lines
Diff to previous 1.4 (colored) to selected 1.7 (colored)

Be a bit cleaner and reduce the amount of namespace pollution

Revision 1.4 / (download) - annotate - [select for diffs], Mon Jun 6 19:15:43 2011 UTC (12 years, 9 months ago) by dyoung
Branch: MAIN
Changes since 1.3: +1 -0 lines
Diff to previous 1.3 (colored) to selected 1.7 (colored)

Don't allocate resources for vtw until/unless it is enabled.  This will
further help those machines where memory is in short supply.

TBD: release resources after vtw is disabled and all entries have
expired.

Revision 1.3.6.2 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:57 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.3.6.1: +414 -0 lines
Diff to previous 1.3.6.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.7 (colored)

Sync with HEAD.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Tue May 31 03:05:08 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3.2.1: +414 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) to selected 1.7 (colored)

sync with head

Revision 1.3.6.1, Tue May 17 05:42:40 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.3: +0 -414 lines
FILE REMOVED

file tcp_vtw.h was added on branch jruoho-x86intr on 2011-06-06 09:09:57 +0000

Revision 1.3.2.1, Tue May 17 05:42:40 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3: +0 -414 lines
FILE REMOVED

file tcp_vtw.h was added on branch rmind-uvmplock on 2011-05-31 03:05:08 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Tue May 17 05:42:40 2011 UTC (12 years, 10 months ago) by dholland
Branch: MAIN
CVS Tags: cherry-xenmp-base
Branch point for: rmind-uvmplock, jruoho-x86intr, cherry-xenmp
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored) to selected 1.7 (colored)

typo in comment

Revision 1.2 / (download) - annotate - [select for diffs], Tue May 3 23:57:41 2011 UTC (12 years, 10 months ago) by dyoung
Branch: MAIN
Changes since 1.1: +0 -6 lines
Diff to previous 1.1 (colored) to selected 1.7 (colored)

Remove #ifdef INET6 throughout.

Revision 1.1 / (download) - annotate - [select for diffs], Tue May 3 18:28:45 2011 UTC (12 years, 10 months ago) by dyoung
Branch: MAIN
Diff to selected 1.7 (colored)

Reduces the resources demanded by TCP sessions in TIME_WAIT-state using
methods called Vestigial Time-Wait (VTW) and Maximum Segment Lifetime
Truncation (MSLT).

MSLT and VTW were contributed by Coyote Point Systems, Inc.

Even after a TCP session enters the TIME_WAIT state, its corresponding
socket and protocol control blocks (PCBs) stick around until the TCP
Maximum Segment Lifetime (MSL) expires.  On a host whose workload
necessarily creates and closes down many TCP sockets, the sockets & PCBs
for TCP sessions in TIME_WAIT state amount to many megabytes of dead
weight in RAM.

Maximum Segment Lifetimes Truncation (MSLT) assigns each TCP session to
a class based on the nearness of the peer.  Corresponding to each class
is an MSL, and a session uses the MSL of its class.  The classes are
loopback (local host equals remote host), local (local host and remote
host are on the same link/subnet), and remote (local host and remote
host communicate via one or more gateways).  Classes corresponding to
nearer peers have lower MSLs by default: 2 seconds for loopback, 10
seconds for local, 60 seconds for remote.  Loopback and local sessions
expire more quickly when MSLT is used.

Vestigial Time-Wait (VTW) replaces a TIME_WAIT session's PCB/socket
dead weight with a compact representation of the session, called a
"vestigial PCB".  VTW data structures are designed to be very fast and
memory-efficient: for fast insertion and lookup of vestigial PCBs,
the PCBs are stored in a hash table that is designed to minimize the
number of cacheline visits per lookup/insertion.  The memory both
for vestigial PCBs and for elements of the PCB hashtable come from
fixed-size pools, and linked data structures exploit this to conserve
memory by representing references with a narrow index/offset from the
start of a pool instead of a pointer.  When space for new vestigial PCBs
runs out, VTW makes room by discarding old vestigial PCBs, oldest first.
VTW cooperates with MSLT.

It may help to think of VTW as a "FIN cache" by analogy to the SYN
cache.

A 2.8-GHz Pentium 4 running a test workload that creates TIME_WAIT
sessions as fast as it can is approximately 17% idle when VTW is active
versus 0% idle when VTW is inactive.  It has 103 megabytes more free RAM
when VTW is active (approximately 64k vestigial PCBs are created) than
when it is inactive.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>