The NetBSD Project

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

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.25: download - view: text, markup, annotated - select for diffs
Mon Oct 7 23:17:00 2024 UTC (6 months, 3 weeks ago) by jakllsch
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +7 -4 lines
Allow CACHE_LINE_SIZE 256 with uint64_t fatp_word_t

Revision 1.24: download - view: text, markup, annotated - select for diffs
Fri Nov 4 09:00:58 2022 UTC (2 years, 5 months ago) by ozaki-r
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, netbsd-10-base, netbsd-10-1-RELEASE, netbsd-10-0-RELEASE, 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
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +3 -3 lines
inpcb: rename functions to inpcb_*

Inspired by rmind-smpnet patches.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Oct 28 05:25:36 2022 UTC (2 years, 6 months ago) by ozaki-r
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +15 -15 lines
inpcb: separate inpcb again to reduce the size of PCB for IPv4

The data size of PCB for IPv4 increased because of the merge of
struct in6pcb.  The change decreases the size to the original size by
separating struct inpcb (again).  struct in4pcb and in6pcb that embed
struct inpcb are introduced.

Even after the separation, users don't need to realize the separation
and only have to use some macros to access dedicated data.  For example,
inp->inp_laddr is now accessed through in4p_laddr(inp).

Revision 1.22: download - view: text, markup, annotated - select for diffs
Fri Oct 28 05:18:39 2022 UTC (2 years, 6 months ago) by ozaki-r
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +17 -17 lines
inpcb: integrate data structures of PCB into one

Data structures of network protocol control blocks (PCBs), i.e.,
struct inpcb, in6pcb and inpcb_hdr, are not organized well.  Users of
the data structures have to handle them separately and thus the code
is cluttered and duplicated.

The commit integrates the data structures into one, struct inpcb.  As a
result, users of PCBs only have to handle just one data structure, so
the code becomes simple.

One drawback is that the data size of PCB for IPv4 increases by 40 bytes
(from 248 bytes to 288 bytes).

Revision 1.21: download - view: text, markup, annotated - select for diffs
Fri Aug 13 20:47:55 2021 UTC (3 years, 8 months ago) by andvar
Branches: MAIN
CVS tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +2 -2 lines
fix typos in words "pointer" and s/fram /frame/

Revision 1.19.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:05:16 2020 UTC (5 years ago) by martin
Branches: phil-wifi
Diff to: previous 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19: +4 -29 lines
Mostly merge changes from HEAD upto 20200411

Revision 1.20: download - view: text, markup, annotated - select for diffs
Tue Oct 1 18:00:09 2019 UTC (5 years, 6 months ago) by chs
Branches: 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-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, 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, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +4 -29 lines
in many device attach paths, allocate memory with KM_SLEEP instead of KM_NOSLEEP
and remove code to handle failures that can no longer happen.

Revision 1.18.8.1: download - view: text, markup, annotated - select for diffs
Mon May 21 04:36:16 2018 UTC (6 years, 11 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18: +1 -2 lines
Sync with HEAD

Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu May 3 07:13:48 2018 UTC (6 years, 11 months ago) by maxv
Branches: MAIN
CVS tags: phil-wifi-base, phil-wifi-20190609, 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, netbsd-9-base, netbsd-9-4-RELEASE, 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
Branch point for: phil-wifi
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +1 -2 lines
Remove now unused tcpip.h includes. Some were already unused before.

Revision 1.9.2.2: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:04 2017 UTC (7 years, 4 months ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.9.2.1: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.2.1: +10 -15 lines
update from HEAD

Revision 1.12.2.6: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:53:12 2017 UTC (7 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.12.2.5: preferred, colored; branchpoint 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12.2.5: +1 -4 lines
Sync with HEAD

Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Jun 1 02:45:14 2017 UTC (7 years, 11 months ago) by chs
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0502, pgoyette-compat-0422, 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, netbsd-8-base, netbsd-8-3-RELEASE, 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
Branch point for: pgoyette-compat
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -4 lines
remove checks for failure after memory allocation calls that cannot fail:

  kmem_alloc() with KM_SLEEP
  kmem_zalloc() with KM_SLEEP
  percpu_alloc()
  pserialize_create()
  psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.

Revision 1.12.2.5: download - view: text, markup, annotated - select for diffs
Sun Feb 5 13:40:59 2017 UTC (8 years, 2 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.12.2.4: preferred, colored; branchpoint 1.12: preferred, colored
Changes since revision 1.12.2.4: +1 -2 lines
Sync with HEAD

Revision 1.15.2.2: download - view: text, markup, annotated - select for diffs
Sat Jan 7 08:56:51 2017 UTC (8 years, 3 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.15.2.1: preferred, colored; branchpoint 1.15: preferred, colored; next MAIN 1.16: preferred, colored
Changes since revision 1.15.2.1: +1 -2 lines
Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Dec 13 08:29:03 2016 UTC (8 years, 4 months ago) by ozaki-r
Branches: MAIN
CVS tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, nick-nhusb-base-20170204, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -2 lines
Remove unnecessary inclusions of nd6.h

Revision 1.12.2.4: download - view: text, markup, annotated - select for diffs
Wed Oct 5 20:56:09 2016 UTC (8 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.12.2.3: preferred, colored; branchpoint 1.12: preferred, colored
Changes since revision 1.12.2.3: +3 -3 lines
Sync with HEAD

Revision 1.15.2.1: download - view: text, markup, annotated - select for diffs
Sat Aug 6 00:19:10 2016 UTC (8 years, 8 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -3 lines
Sync with HEAD

Revision 1.16: download - view: text, markup, annotated - select for diffs
Thu Jul 28 07:54:31 2016 UTC (8 years, 9 months ago) by martin
Branches: MAIN
CVS tags: pgoyette-localcount-20161104, pgoyette-localcount-20160806, nick-nhusb-base-20161204, nick-nhusb-base-20161004, localcount-20160914
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -3 lines
PR kern/51371: avoid shifting negative values

Revision 1.12.2.3: download - view: text, markup, annotated - select for diffs
Sun May 29 08:44:38 2016 UTC (8 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.12.2.2: preferred, colored; branchpoint 1.12: preferred, colored
Changes since revision 1.12.2.2: +1 -2 lines
Sync with HEAD

Revision 1.15: download - view: text, markup, annotated - select for diffs
Tue Apr 26 08:44:45 2016 UTC (9 years ago) by ozaki-r
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20160726, nick-nhusb-base-20160907, nick-nhusb-base-20160529
Branch point for: pgoyette-localcount
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -2 lines
Sweep unnecessary route.h inclusions

Revision 1.12.2.2: download - view: text, markup, annotated - select for diffs
Tue Sep 22 12:06:11 2015 UTC (9 years, 7 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.12.2.1: preferred, colored; branchpoint 1.12: preferred, colored
Changes since revision 1.12.2.1: +13 -11 lines
Sync with HEAD

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Aug 24 22:21:26 2015 UTC (9 years, 8 months ago) by pooka
Branches: MAIN
CVS tags: nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +3 -1 lines
sprinkle _KERNEL_OPT

Revision 1.12.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:23 2015 UTC (10 years ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +1 -2 lines
Sync with HEAD

Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Mar 31 08:47:01 2015 UTC (10 years, 1 month ago) by ozaki-r
Branches: MAIN
CVS tags: nick-nhusb-base-20150606, nick-nhusb-base-20150406
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +1 -2 lines
Remove unnecessary opt_ipsec.h inclusions

Revision 1.10.4.1: download - view: text, markup, annotated - select for diffs
Sat Jan 17 12:10:53 2015 UTC (10 years, 3 months ago) by martin
Branches: netbsd-7
CVS tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, 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
Diff to: previous 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10: +1 -2 lines
Pull up following revision(s) (requested by maxv in ticket #427):
	sys/compat/svr4/svr4_schedctl.c: revision 1.8
	sys/netinet/tcp_timer.c: revision 1.88
	sys/miscfs/genfs/layer_vfsops.c: revision 1.45
	sys/compat/svr4/svr4_ioctl.c: revision 1.37
	sys/ufs/chfs/chfs_vfsops.c: revision 1.14
	sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91
	sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30
	sys/compat/common/kern_time_50.c: revision 1.28
	sys/netinet6/ip6_forward.c: revision 1.74
	sys/miscfs/umapfs/umap_vnops.c: revision 1.57
	sys/compat/svr4/svr4_fcntl.c: revision 1.74
	distrib/sets/lists/comp/mi: revision 1.1931
	sys/netinet6/udp6_output.c: revision 1.46
	sys/fs/puffs/puffs_compat.c: revision 1.3
	sys/fs/udf/udf_rename.c: revision 1.11
	sys/compat/svr4/svr4_filio.c: revision 1.24
	sys/fs/udf/udf_rename.c: revision 1.12
	sys/netinet/tcp_usrreq.c: revision 1.202
	sys/miscfs/umapfs/umap_subr.c: revision 1.29
	sys/compat/linux/common/linux_fadvise64.c: revision 1.3
	sys/netinet/if_atm.c: revision 1.34
	sys/miscfs/procfs/procfs_subr.c: revision 1.106
	sys/miscfs/genfs/layer_subr.c: revision 1.37
	sys/netinet/tcp_sack.c: revision 1.30
	sys/compat/freebsd/freebsd_misc.c: revision 1.33
	sys/compat/freebsd/freebsd_file.c: revision 1.33
	sys/ufs/chfs/chfs_vnode.c: revision 1.12
	sys/compat/svr4/svr4_ttold.c: revision 1.34
	sys/compat/linux/common/linux_file.c: revision 1.114
	sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43
	sys/compat/linux/common/linux_signal.c: revision 1.76
	sys/compat/common/compat_util.c: revision 1.46
	sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18
	sys/compat/svr4/svr4_sockio.c: revision 1.36
	sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32
	sys/compat/svr4/svr4_signal.c: revision 1.66
	sys/kern/kern_exec.c: revision 1.410
	sys/fs/puffs/puffs_vfsops.c: revision 1.115
	sys/compat/svr4/svr4_exec_elf64.c: revision 1.15
	sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159
	sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50
	sys/compat/linux32/common/linux32_misc.c: revision 1.24
	sys/netinet/in_pcb.c: revision 1.153
	sys/sys/malloc.h: revision 1.116
	sys/compat/common/if_43.c: revision 1.9
	share/man/man9/Makefile: revision 1.380
	sys/netinet/tcp_vtw.c: revision 1.12
	sys/miscfs/umapfs/umap_vfsops.c: revision 1.95
	sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186
	sys/compat/common/uipc_syscalls_43.c: revision 1.46
	sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115
	sys/fs/puffs/puffs_msgif.c: revision 1.97
	sys/compat/svr4/svr4_ipc.c: revision 1.27
	sys/compat/linux/common/linux_exec.c: revision 1.117
	sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66
	sys/netinet/tcp_output.c: revision 1.179
	sys/compat/svr4/svr4_termios.c: revision 1.28
	sys/fs/udf/udf_strat_bootstrap.c: revision 1.4
	sys/fs/puffs/puffs_subr.c: revision 1.67
	sys/fs/puffs/puffs_node.c: revision 1.36
	sys/miscfs/overlay/overlay_vnops.c: revision 1.21
	sys/fs/cd9660/cd9660_node.c: revision 1.34
	sys/netinet/raw_ip.c: revision 1.146
	sys/sys/mallocvar.h: revision 1.13
	sys/miscfs/overlay/overlay_vfsops.c: revision 1.63
	share/man/man9/malloc.9: revision 1.50
	sys/netinet6/dest6.c: revision 1.18
	sys/compat/linux/common/linux_uselib.c: revision 1.33
	sys/compat/linux/common/linux_socket.c: revision 1.120
	share/man/man9/malloc.9: revision 1.51
	sys/netinet/tcp_subr.c: revision 1.257
	sys/compat/linux/common/linux_socketcall.c: revision 1.45
	sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3
	sys/compat/freebsd/freebsd_ipc.c: revision 1.17
	sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109
	sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17
	sys/netinet6/in6_pcb.c: revision 1.132
	sys/netinet6/in6_ifattach.c: revision 1.94
	sys/compat/svr4/svr4_exec_elf32.c: revision 1.15
	sys/miscfs/nullfs/null_vfsops.c: revision 1.90
	sys/fs/cd9660/cd9660_util.c: revision 1.12
	sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48
	sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20
	sys/miscfs/procfs/procfs_vfsops.c: revision 1.94
	sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28
	sys/compat/linux/common/linux_sched.c: revision 1.67
	sys/compat/linux/common/linux_exec_aout.c: revision 1.67
	sys/compat/linux/common/linux_pipe.c: revision 1.67
	sys/compat/linux/common/linux_llseek.c: revision 1.34
	sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10
Do not uselessly include <sys/malloc.h>.
Cleanup:
 - remove struct kmembuckets (dead)
 - correctly deadify MALLOC_XX
 - remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead)
 - remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT()
   and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc
New sentence, new line. Bump date for previous.
Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9)
man pages.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Nov 10 18:52:51 2014 UTC (10 years, 5 months ago) by maxv
Branches: MAIN
CVS tags: nick-nhusb-base
Branch point for: nick-nhusb
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +1 -2 lines
Do not uselessly include <sys/malloc.h>.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Fri Sep 5 06:03:51 2014 UTC (10 years, 7 months ago) by matt
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +7 -7 lines
Don't use C++ keywords (class, template) as variables

Revision 1.9.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:04:35 2014 UTC (10 years, 8 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +5 -1 lines
Rebase to HEAD as of a few days ago.

Revision 1.8.2.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:10 2014 UTC (10 years, 11 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.8.2.1: preferred, colored; branchpoint 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8.2.1: +5 -1 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.9.4.3: download - view: text, markup, annotated - select for diffs
Sun May 18 17:46:13 2014 UTC (10 years, 11 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.9.4.2: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.4.2: +5 -1 lines
sync with head

Revision 1.9.4.2: download - view: text, markup, annotated - select for diffs
Mon Sep 23 00:57:53 2013 UTC (11 years, 7 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.9.4.1: preferred, colored; branchpoint 1.9: preferred, colored
Changes since revision 1.9.4.1: +3 -3 lines
- Add some initial locking to the IPv4 PCB.
- Rename inpcb_lookup_*() routines to be more accurate and add comments.
- Add some comments about connection life-cycle WRT socket layer.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Sep 15 14:47:40 2013 UTC (11 years, 7 months ago) by martin
Branches: MAIN
CVS tags: yamt-pagecache-base9, 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, netbsd-7-base
Branch point for: netbsd-7
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +5 -1 lines
ifdef a variable like its use

Revision 1.9.4.1: download - view: text, markup, annotated - select for diffs
Wed Jul 17 03:16:31 2013 UTC (11 years, 9 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +16 -18 lines
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.8.6.1: download - view: text, markup, annotated - select for diffs
Sun Apr 29 23:05:07 2012 UTC (13 years ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +49 -1 lines
sync to latest -current.

Revision 1.8.2.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:08:41 2012 UTC (13 years ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +49 -1 lines
sync with head

Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri Apr 13 15:37:12 2012 UTC (13 years ago) by yamt
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +49 -1 lines
add a big comment
(copy and paste from cvs log rev.1.1)

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Jul 17 20:54:53 2011 UTC (13 years, 9 months ago) by joerg
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-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-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +1 -2 lines
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.

Revision 1.4.4.1: download - view: text, markup, annotated - select for diffs
Thu Jun 23 14:20:26 2011 UTC (13 years, 10 months ago) by cherry
Branches: cherry-xenmp
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +143 -100 lines
Catchup with rmind-uvmplock merge.

Revision 1.4.2.3: download - view: text, markup, annotated - select for diffs
Sun Jun 12 00:24:30 2011 UTC (13 years, 10 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.4.2.2: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.2.2: +142 -99 lines
sync with head

Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Jun 6 19:15:43 2011 UTC (13 years, 10 months ago) by dyoung
Branches: MAIN
CVS tags: rmind-uvmplock-nbase, rmind-uvmplock-base
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +36 -2 lines
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.6.2.2: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:09:57 2011 UTC (13 years, 10 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.6.2.1: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.2.1: +2425 -0 lines
Sync with HEAD.

Revision 1.6.2.1
Fri Jun 3 20:01:00 2011 UTC (13 years, 11 months ago) by jruoho
Branches: jruoho-x86intr
FILE REMOVED
Changes since revision 1.6: +0 -2425 lines
file tcp_vtw.c was added on branch jruoho-x86intr on 2011-06-06 09:09:57 +0000

Revision 1.6: download - view: text, markup, annotated - select for diffs
Fri Jun 3 20:01:00 2011 UTC (13 years, 11 months ago) by dyoung
Branches: MAIN
Branch point for: jruoho-x86intr
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +92 -82 lines
Don't sleep until memory becomes available.

Use kmem_zalloc() instead of kmem_alloc() + bzero().

During initialization, try to get all of the memory we need for the
vestigial time-wait structures before we set any of the structures up,
and if any single allocation fails, release all of the memory.

This should help low-memory hosts.  A much better fix postpones
allocating any memory until vtw is enabled through the sysctl.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Fri Jun 3 17:11:34 2011 UTC (13 years, 11 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +17 -18 lines
Defer scheduling vtw_tick() and setting the vtw hooks until
vtw_control() is called.  In this way, vtw_tick() will be re-scheduled
repeatedly while vtw is in use.

Pay tcp_vtw_was_enabled no attention in vtw_earlyinit(), since it's
always going to be 0 during initialization.

Revision 1.4.2.2: download - view: text, markup, annotated - select for diffs
Tue May 31 03:05:08 2011 UTC (13 years, 11 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.4.2.1: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.2.1: +2416 -0 lines
sync with head

Revision 1.4.2.1
Tue May 17 05:42:40 2011 UTC (13 years, 11 months ago) by rmind
Branches: rmind-uvmplock
FILE REMOVED
Changes since revision 1.4: +0 -2416 lines
file tcp_vtw.c was added on branch rmind-uvmplock on 2011-05-31 03:05:08 +0000

Revision 1.4: download - view: text, markup, annotated - select for diffs
Tue May 17 05:42:40 2011 UTC (13 years, 11 months ago) by dholland
Branches: MAIN
CVS tags: cherry-xenmp-base
Branch point for: rmind-uvmplock, cherry-xenmp
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -3 lines
typo in comment

Revision 1.3: download - view: text, markup, annotated - select for diffs
Wed May 11 15:08:59 2011 UTC (13 years, 11 months ago) by drochner
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +3 -3 lines
use getmicrouptime(9) rather than microtime(9) for TIME_WAIT duration
calculation, because this doesn't get confused by system time changes,
and uses less CPU cycles
reviewed by dyoung

Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri May 6 12:52:43 2011 UTC (13 years, 11 months ago) by drochner
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -10 lines
remove an empty function

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue May 3 18:28:45 2011 UTC (14 years ago) by dyoung
Branches: MAIN
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.

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>