HEADS UP: inpcb/inpcbinfo rwlocking: coming to a 7-STABLE
branch near you
John Baldwin
jhb at freebsd.org
Mon Aug 18 14:47:06 UTC 2008
On Monday 18 August 2008 09:37:51 am Mike Tancsa wrote:
> At 04:14 AM 8/18/2008, Robert Watson wrote:
> >On Sun, 3 Aug 2008, Robert Watson wrote:
> >>This is an advance warning that, late next week, I will be merging
> >>a fairly large set of changes to the IPv4 and IPv6 protocols
> >>layered over the inpcb/inpcbinfo kernel infrastructure. To be
> >>specific, this affects TCP, UDP, and raw sockets on both IPv4 and
> >>IPv6. I will post a further e-mail announcement along with patch
> >>set and schedule in a day or two once it's prepared.
> >
> >FYI: This patch has now been committed to Subversion. I'll keep a
> >close eye out for difficulties; if you run into issues, please send
> >me an e-mail (and CC stable@).
>
> Hi Robert,
> I just did a buildworld/kernel in case your commit fixed the
> routing bugs, but I am still seeing those bogus arp / routing table
> entries. I narrowed it down to the commits below. I dont think its
> the intel stuff, as another user reported the same issue using bce nics.
>
> date=2008.07.30.18.00.00
> and
> date=2008.07.31.00.00.00
>
> Updating collection src-all/cvs
> Checkout src/sys/dev/e1000/LICENSE
> Checkout src/sys/dev/e1000/README
> Checkout src/sys/dev/e1000/e1000_80003es2lan.c
> Checkout src/sys/dev/e1000/e1000_80003es2lan.h
> Checkout src/sys/dev/e1000/e1000_82540.c
> Checkout src/sys/dev/e1000/e1000_82541.c
> Checkout src/sys/dev/e1000/e1000_82541.h
> Checkout src/sys/dev/e1000/e1000_82542.c
> Checkout src/sys/dev/e1000/e1000_82543.c
> Checkout src/sys/dev/e1000/e1000_82543.h
> Checkout src/sys/dev/e1000/e1000_82571.c
> Checkout src/sys/dev/e1000/e1000_82571.h
> Checkout src/sys/dev/e1000/e1000_82575.c
> Checkout src/sys/dev/e1000/e1000_82575.h
> Checkout src/sys/dev/e1000/e1000_api.c
> Checkout src/sys/dev/e1000/e1000_api.h
> Checkout src/sys/dev/e1000/e1000_defines.h
> Checkout src/sys/dev/e1000/e1000_hw.h
> Checkout src/sys/dev/e1000/e1000_ich8lan.c
> Checkout src/sys/dev/e1000/e1000_ich8lan.h
> Checkout src/sys/dev/e1000/e1000_mac.c
> Checkout src/sys/dev/e1000/e1000_mac.h
> Checkout src/sys/dev/e1000/e1000_manage.c
> Checkout src/sys/dev/e1000/e1000_manage.h
> Checkout src/sys/dev/e1000/e1000_nvm.c
> Checkout src/sys/dev/e1000/e1000_nvm.h
> Checkout src/sys/dev/e1000/e1000_osdep.c
> Checkout src/sys/dev/e1000/e1000_osdep.h
> Checkout src/sys/dev/e1000/e1000_phy.c
> Checkout src/sys/dev/e1000/e1000_phy.h
> Checkout src/sys/dev/e1000/e1000_regs.h
> Checkout src/sys/dev/e1000/if_em.c
> Checkout src/sys/dev/e1000/if_em.h
> Checkout src/sys/dev/e1000/if_igb.h
Since are seeing this w/o em we can rule all of these out.
> Edit src/sys/kern/kern_synch.c
> Add delta 1.302.2.3 2008.07.30.18.28.09 rwatson
This is just a style change.
> Edit src/sys/kern/sys_process.c
> Add delta 1.145.2.1 2008.07.30.19.49.10 jhb
This only affects userland reading memory of other process' userland (e.g.
procfs 'mem' file, gdb, etc.).
> Edit src/sys/conf/files
> Add delta 1.1243.2.32 2008.07.30.20.35.41 kmacy
> Edit src/sys/netinet/tcp_subr.c
> Add delta 1.300.2.4 2008.07.30.20.35.41 kmacy
> Edit src/sys/netinet/tcp_syncache.c
> Add delta 1.130.2.9 2008.07.30.20.35.41 kmacy
> Add delta 1.130.2.10 2008.07.30.20.51.20 kmacy
> Edit src/sys/netinet/tcp_syncache.h
> Add delta 1.1.2.1 2008.07.30.20.35.41 kmacy
> Edit src/sys/netinet/tcp_usrreq.c
> Add delta 1.163.2.4 2008.07.30.20.35.41 kmacy
These are changes by Kip to do TCP offload (181013, 181014).
> Edit src/sys/netinet/udp_usrreq.c
> Add delta 1.218.2.1 2008.07.30.21.23.21 bz
> Edit src/sys/netinet6/ip6_input.c
> Add delta 1.95.2.1 2008.07.30.21.23.21 bz
> Edit src/sys/netinet6/ip6_var.h
> Add delta 1.39.2.2 2008.07.30.21.23.21 bz
These changes are all to #ifdef INET6 only code, so probably not relevant.
> Edit src/sys/sys/socket.h
> Add delta 1.95.2.3 2008.07.30.19.35.40 kmacy
More TCP offload stuff, though this just adds constants for new socket
options.
> Edit src/sys/ufs/ufs/ufs_lookup.c
> Add delta 1.83.2.2 2008.07.30.21.43.42 jhb
> Edit src/sys/vm/vm_object.c
> Add delta 1.385.2.2 2008.07.30.21.43.42 jhb
> Edit src/sys/vm/vm_object.h
> Add delta 1.114.2.1 2008.07.30.21.43.42 jhb
> Edit src/sys/vm/vnode_pager.c
> Add delta 1.236.2.2 2008.07.30.21.43.42 jhb
These are fixes to make UFS cache data from directories.
Given that, I think the likeliest changes to cause this are the TCP offload
changes. Note that Kip later MFC'd this change which changed ARP stuff:
Author: kmacy
Date: Thu Jul 31 22:42:27 2008
New Revision: 181075
URL: http://svn.freebsd.org/changeset/base/181075
Log:
MFC ARP update hooks and change to arpresolve to do arp resolution without a
pending mbuf to transmit
Modified:
stable/7/sys/net/route.c
stable/7/sys/net/route.h
stable/7/sys/netinet/if_ether.c
stable/7/sys/netinet/if_ether.h
However, I would stary by narrowing it down to see if Kip's commits cause the
change.
--
John Baldwin
More information about the freebsd-stable
mailing list