Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Dec 2004 22:44:05 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netinet tcp_input.c tcp_subr.c tcp_timer.c
Message-ID:  <200412252244.iBPMi5TT071356@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2004-12-25 22:44:04 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/netinet          tcp_input.c tcp_subr.c tcp_timer.c 
  Log:
  Merge tcp_input.c:1.257, tcp_subr.c:1.211, tcp_timer.c:1.69 from HEAD
  to RELENG_5:
  
    date: 2004/11/23 17:21:30;  author: rwatson;  state: Exp;  lines: +4 -0
    date: 2004/11/23 17:21:30;  author: rwatson;  state: Exp;  lines: +2 -0
    date: 2004/11/23 17:21:30;  author: rwatson;  state: Exp;  lines: +9 -0
  
    tcp_timewait() performs multiple non-atomic reads on the tcptw
    structure, so assert the inpcb lock associated with the tcptw.
    Also assert the tcbinfo lock, as tcp_timewait() may call
    tcp_twclose() or tcp_2msl_rest(), which require it.  Since
    tcp_timewait() is already called with that lock from tcp_input(),
    this doesn't change current locking, merely documents reasons for
    it.
  
    In tcp_twstart(), assert the tcbinfo lock, as tcp_timer_2msl_rest()
    is called, which requires that lock.
  
    In tcp_twclose(), assert the tcbinfo lock, as tcp_timer_2msl_stop()
    is called, which requires that lock.
  
    Document the locking strategy for the time wait queues in tcp_timer.c,
    which consists of protecting the time wait queues in the same manner
    as the tcbinfo structure (using the tcbinfo lock).
  
    In tcp_timer_2msl_reset(), assert the tcbinfo lock, as the time wait
    queues are modified.
  
    In tcp_timer_2msl_stop(), assert the tcbinfo lock, as the time wait
    queues may be modified.
  
    In tcp_timer_2msl_tw(), assert the tcbinfo lock, as the time wait
    queues may be modified.
  
    MFC after:      2 weeks
  
  Revision   Changes    Path
  1.252.2.6  +4 -0      src/sys/netinet/tcp_input.c
  1.201.2.8  +2 -0      src/sys/netinet/tcp_subr.c
  1.66.2.2   +9 -0      src/sys/netinet/tcp_timer.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412252244.iBPMi5TT071356>