rrs (Randall Stewart)
User

Projects

User Details

User Since
Jan 22 2015, 5:22 AM (156 w, 8 h)

Recent Activity

Aug 9 2017

rrs accepted D11929: Limit the rate at which we will send ACKs in response to out-of-window ACKs.
Aug 9 2017, 6:36 AM

Mar 17 2017

rrs accepted D10018: Summary:.

In general I love this change with my few nits. Note I have a major restructure coming
to inpcb and tcpcb that this helps pave the way for. Basically I have used vtune to
cache-line optimize tcp-output to get its cache line usage down.

Mar 17 2017, 10:20 AM

Oct 20 2016

rrs accepted D7904: Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 handling.
Oct 20 2016, 1:22 PM

Oct 14 2016

rrs accepted D8243: Reduce the number of calls to reset the keepalive timer.

I think that a grand idea :)

Oct 14 2016, 2:08 PM

Oct 10 2016

rrs accepted D8185: Add compile-time option to activate hhook(9) framework for TCP.
Oct 10 2016, 8:59 PM

Oct 7 2016

rrs accepted D8185: Add compile-time option to activate hhook(9) framework for TCP.

Looks like a great idea :-)

Oct 7 2016, 7:04 PM

Sep 8 2016

rrs accepted D7833: Several small TCP related fixes for getsockopt().
Sep 8 2016, 5:31 PM

Aug 26 2016

rrs accepted D7664: Adjust TCP module fastpath after r304803's cc_ack_received() changes..
Aug 26 2016, 6:40 PM

Aug 18 2016

rrs accepted D7564: LRO nsegs.

Yeah!!!

Aug 18 2016, 3:54 PM

Aug 16 2016

rrs accepted D7073: FFL: Change type of tcp_output() recwin, sendwin, and adv variables..
Aug 16 2016, 9:26 PM
rrs committed rS304224: A few more wording tweaks as suggested (with some modifications.
A few more wording tweaks as suggested (with some modifications
Aug 16 2016, 3:17 PM
rrs committed rS304223: Here we update the modular tcp to be able to switch to an.
Here we update the modular tcp to be able to switch to an
Aug 16 2016, 3:12 PM
rrs closed D6790: Add functionality so you can optionally change a progressed socket to a new tcp stack by committing rS304223: Here we update the modular tcp to be able to switch to an.
Aug 16 2016, 3:12 PM
rrs committed rS304219: Comments describing how to properly use the new lock_add functions.
Comments describing how to properly use the new lock_add functions
Aug 16 2016, 1:08 PM
rrs updated the diff for D6790: Add functionality so you can optionally change a progressed socket to a new tcp stack.

This gets Jtl's changes in.. I also move the init function down to the
end of the tcb init.. otherwise its possible a init() function may find
that some state init'd later is not what it expects (though it still
has to allow for this in the inp.. lets try to make it easier on the init's built)

Aug 16 2016, 12:55 PM
rrs committed rS304218: This cleans up the timer code in TCP and also makes it so we do not.
This cleans up the timer code in TCP and also makes it so we do not
Aug 16 2016, 12:41 PM
rrs closed D7136: TCP Timer cleanup by committing rS304218: This cleans up the timer code in TCP and also makes it so we do not.
Aug 16 2016, 12:41 PM

Jul 27 2016

rrs committed rS303412: Remove myself from kern_timeout.c yeah!.
Remove myself from kern_timeout.c yeah!
Jul 27 2016, 8:37 PM

Jul 26 2016

rrs accepted D7272: Rework IPv6 TCP path MTU discovery to match IPv4.
Jul 26 2016, 3:18 PM
rrs accepted D7251: Avoid calling in_pcbnotifyall() to flush cached routes.

Looks good Drew :)

Jul 26 2016, 3:17 PM

Jul 21 2016

rrs updated the diff for D7136: TCP Timer cleanup.

minor style 9 nit

Jul 21 2016, 10:21 AM

Jul 19 2016

rrs committed rS303037: This reverts out Gleb's changes and adds three small.
This reverts out Gleb's changes and adds three small
Jul 19 2016, 6:31 PM
rrs updated the diff for D7136: TCP Timer cleanup.

I really need to learn how to type :-)

Jul 19 2016, 11:10 AM
rrs updated the diff for D7136: TCP Timer cleanup.

Turns out when tp is returned NULL by the drop/close that means
it also nicely released the INP_WLOCK. We need to re-acqurire the lock
in that case so we can drop our inp reference.

Jul 19 2016, 11:06 AM
rrs updated the diff for D7135: A problem with ASYNC drain.

Originally I had started working on this before Gleb decided to take over and clean it up. I
had fixed the three issues I saw:

  1. Principle - the start of a new timer was not rejected (like it is for sync drain) for async-drain.
  2. A three way leak in the callout start
  3. An incorrect return on some cases with async_drain and tcp.
Jul 19 2016, 9:20 AM
rrs updated the diff for D7136: TCP Timer cleanup.

Fix it so we don't leak inp's.. the tcp_close() can return NULL in tp, this
would mean we would not do the reference count release. Instead use
the inp.

Jul 19 2016, 9:16 AM

Jul 18 2016

rrs updated the diff for D7135: A problem with ASYNC drain.

missed an unlock

Jul 18 2016, 6:46 PM

Jul 6 2016

rrs retitled D7136: TCP Timer cleanup from to TCP Timer cleanup.
Jul 6 2016, 11:12 AM
rrs retitled D7135: A problem with ASYNC drain from to A problem with ASYNC drain.
Jul 6 2016, 11:08 AM
rrs updated the diff for D6790: Add functionality so you can optionally change a progressed socket to a new tcp stack.

This addresses Jonathan's Nits.. However after reading the man page I can't see how one would
discuss the finer points of changing stacks (there is no mention of it that I can see in the current
man page). Jonathan perhaps you can, as we say in the IETF, send text :-)

Jul 6 2016, 10:59 AM

Jul 5 2016

rrs added a comment to D6790: Add functionality so you can optionally change a progressed socket to a new tcp stack.

I had not noticed your man page updates.. I will spin around and add the new handoff function to the man page on the next pass (with my comments).

Jul 5 2016, 1:38 PM
rrs accepted D6198: Add sysctl to disable the TCP hostcache.
Jul 5 2016, 1:33 PM
rrs requested changes to D5173: Rework initial congestion window calculation..

Should there not be a check to the experimental setting to allow a IW of 10?

Jul 5 2016, 1:30 PM
rrs accepted D6689: tcp/lro: Implement hash table for LRO entries..

These look fine and familiar ;-)

Jul 5 2016, 1:27 PM
rrs accepted D6452: Allow an MTU of up to 65535 bytes on tun interfaces.
Jul 5 2016, 1:24 PM
rrs accepted D7042: When a callout is being run and scheduled at the same time, callout_stop() would only unschedule the scheduled one, but will not drain the running one..

I am fine with these changes, however it does *not* mean the fix I sent you does
not also need to be applied. I.e. if an async_drain is running (just like when a drain is running)
we need to return failure and not start the timeout again.

Jul 5 2016, 1:23 PM

Jun 11 2016

rrs updated the diff for D6790: Add functionality so you can optionally change a progressed socket to a new tcp stack.

Updated with change we discussed and also two bugs.. when you
do the lookup, a refcnt is incremented so if you were to stay
on the same one you need to release the refcnt (it gets to 2 in that case). And
also in one error path we need to do that (before the lookup was later).

Jun 11 2016, 9:50 AM

Jun 9 2016

rrs retitled D6790: Add functionality so you can optionally change a progressed socket to a new tcp stack from to Add functionality so you can optionally change a progressed socket to a new tcp stack.
Jun 9 2016, 8:32 PM

May 25 2016

rrs accepted D6472: Use optimised complexity safe sort routine instead of the kernel's qsort.

If Drew says it works I am happy with it as well :-)

May 25 2016, 8:11 PM

May 17 2016

rrs committed rS300042: This small change adopts the excellent suggestion for using named.
This small change adopts the excellent suggestion for using named
May 17 2016, 9:53 AM
rrs closed D6303: Added functionality for new tcp stacks. by committing rS300042: This small change adopts the excellent suggestion for using named.
May 17 2016, 9:53 AM

May 11 2016

rrs added a comment to D4294: modernize TCP constants.

Is TCPTV_DELACK (hz/25) 40 ms, or is it 40 ms only when HZ is 1000?

May 11 2016, 9:03 AM · transport

May 10 2016

rrs retitled D6303: Added functionality for new tcp stacks. from to Added functionality for new tcp stacks..
May 10 2016, 11:51 AM

Apr 28 2016

rrs added a comment to D6137: tcp/lro: Refactor the free/active list operation..

It would be worth checking the assembly output.. if it truly inlines it then
it should probably only do one compare.. but worth checking...

Apr 28 2016, 5:23 PM
rrs committed rS298747: Complete the UDP tunneling of ICMP msgs to those protocols.
Complete the UDP tunneling of ICMP msgs to those protocols
Apr 28 2016, 3:53 PM
rrs closed D5875: UDP Kernel Tunneling ICMP by committing rS298747: Complete the UDP tunneling of ICMP msgs to those protocols.
Apr 28 2016, 3:53 PM
rrs committed rS298743: This cleans up the timers code in TCP to start using the new.
This cleans up the timers code in TCP to start using the new
Apr 28 2016, 1:27 PM
rrs closed D5924: TCP Timer cleanup. by committing rS298743: This cleans up the timers code in TCP to start using the new.
Apr 28 2016, 1:27 PM

Apr 18 2016

rrs updated the diff for D5875: UDP Kernel Tunneling ICMP.

This fixes Michael's nits

Apr 18 2016, 5:36 PM
rrs added inline comments to D5875: UDP Kernel Tunneling ICMP.
Apr 18 2016, 5:35 PM

Apr 13 2016

rrs added a comment to D5924: TCP Timer cleanup..

jch: Thanks for running your torture tests.. I did not take out the flags you added though I
am not sure we need them anymore.. what do you think?

Apr 13 2016, 7:32 AM
rrs added a comment to D5924: TCP Timer cleanup..

As a testing update to this, I have this running in a netflix storage cache last
night. I did add a netstats counter in addition to this whenever we incremented
the async-drain counter (tt_draincnt)

Apr 13 2016, 7:31 AM

Apr 12 2016

rrs added inline comments to D5875: UDP Kernel Tunneling ICMP.
Apr 12 2016, 7:34 PM
rrs retitled D5924: TCP Timer cleanup. from to TCP Timer cleanup..
Apr 12 2016, 12:02 PM
rrs updated the diff for D5875: UDP Kernel Tunneling ICMP.

Please test this now for V6 I think I have it right.. and I have also cleaned up a few
space changes so I think its in good shape.

Apr 12 2016, 11:05 AM

Apr 7 2016

rrs added a comment to D5875: UDP Kernel Tunneling ICMP.

Note I need to put back in that ASSERT I took out.. opps

Apr 7 2016, 5:29 PM
rrs updated the diff for D5875: UDP Kernel Tunneling ICMP.

So turns out we need to do a wild-card lookup here if there is not
a connection (all the tunneled kernel protocols should be wildcard).

Apr 7 2016, 2:25 PM
rrs retitled D5875: UDP Kernel Tunneling ICMP from to UDP Kernel Tunneling ICMP.
Apr 7 2016, 9:55 AM
rrs committed rS297663: A couple of minor changes that I missed that Michael had done, most noted.
A couple of minor changes that I missed that Michael had done, most noted
Apr 7 2016, 9:34 AM
rrs committed rS297662: This is work done by Michael Tuexen and myself at the IETF. This.
This is work done by Michael Tuexen and myself at the IETF. This
Apr 7 2016, 9:11 AM

Apr 4 2016

rrs added a comment to D5725: tcp/lro: Factor out tcp_lro_rx_done() to avoid code duplication.

While I agree a prod to Networking might have been in order, I think its a general
*good* idea here. I don't think having drivers know the internal make-up of the
tcp-lro code is good. I have something similar running at NF for quite some time
now...

Apr 4 2016, 12:37 PM

Mar 28 2016

rrs accepted D5765: tcp/lro: Change SLIST to LIST, so that removing an entry from the list is O(1).

Nice.. this should help things.. especially if you add build on
this a hash table :-)

Mar 28 2016, 9:19 AM

Mar 8 2016

rrs committed rS296476: Fix a sneaky bug where we were missing an extern.
Fix a sneaky bug where we were missing an extern
Mar 8 2016, 12:16 AM

Feb 23 2016

rrs committed rS295927: This fixes the fastpath code to have a better module initialization sequence….
This fixes the fastpath code to have a better module initialization sequence…
Feb 23 2016, 5:54 PM
rrs closed D5189: TCP stacks loading issue by committing rS295927: This fixes the fastpath code to have a better module initialization sequence….
Feb 23 2016, 5:54 PM
rrs requested changes to D5396: Store mbuf cluster reference count in the first mbuf..

It just occurred to me what bothers me about this .. you need a check

Feb 23 2016, 12:04 PM
rrs accepted D5396: Store mbuf cluster reference count in the first mbuf..
Feb 23 2016, 11:34 AM

Feb 10 2016

rrs accepted D5180: Gather all mbuf(9) allocation APIs in one place.
Feb 10 2016, 1:54 PM

Feb 4 2016

rrs retitled D5189: TCP stacks loading issue from to TCP stacks loading issue.
Feb 4 2016, 11:39 AM

Jan 21 2016

rrs accepted D5024: Implement sysctl for the min/max values of the TCP persist timer.
Jan 21 2016, 9:52 PM

Jan 13 2016

rrs accepted D4914: Optimise LRO for RSS.

This looks great though I am not sure all the names make sense.. it might be better
to rename some of the things so its not confusing with respect to the old way that the
LRO code worked.

Jan 13 2016, 4:33 PM

Dec 22 2015

rrs accepted D4645: Fix VNET support with tcp modularity.

This looks fine.. I guess the little bit in the middle is what
was killing things (i.e. !IS_DEFAULT_VNET()).. )

Dec 22 2015, 12:20 PM

Dec 16 2015

rrs committed rS292336: Remove redundant extern's that make the ppc compile fail..
Remove redundant extern's that make the ppc compile fail.
Dec 16 2015, 3:17 PM
rrs committed rS292309: First cut of the modularization of our TCP stack. Still.
First cut of the modularization of our TCP stack. Still
Dec 16 2015, 12:57 AM
rrs closed D4055: First step to modularize TCP including two added tcp modules that can be played with. by committing rS292309: First cut of the modularization of our TCP stack. Still.
Dec 16 2015, 12:57 AM

Dec 11 2015

rrs committed rS292070: More fixes in the various intel processors, fixing missing.
More fixes in the various intel processors, fixing missing
Dec 11 2015, 1:21 AM

Dec 10 2015

rrs committed rS292043: Fix several typos and bugs within pmcstudy. Also highlight the one SB test.
Fix several typos and bugs within pmcstudy. Also highlight the one SB test
Dec 10 2015, 1:52 AM

Dec 9 2015

rrs committed rS292035: Add a couple of spots I tend to look at and Michael for SCTP as well :-).
Add a couple of spots I tend to look at and Michael for SCTP as well :-)
Dec 9 2015, 11:02 PM
rrs committed rS292033: Fix the tunable in logging so that if its pre-11 we have the proper.
Fix the tunable in logging so that if its pre-11 we have the proper
Dec 9 2015, 10:47 PM
rrs committed rS292029: Update the manual page to include Broadwell..
Update the manual page to include Broadwell.
Dec 9 2015, 9:54 PM
rrs committed rS292028: White space changes..
White space changes.
Dec 9 2015, 9:50 PM
rrs committed rS292027: Proper support of Broadwell tool by the pmc_study based on the.
Proper support of Broadwell tool by the pmc_study based on the
Dec 9 2015, 9:49 PM

Dec 7 2015

rrs accepted D4364: inpcb L2/L3 caching.

I am *very* glad to see a cached route coming back in :-)

Dec 7 2015, 6:12 PM · transport

Nov 30 2015

rrs committed rS291494: Add support for Intel Skylake and Intel Broadwell PMC's. The Broadwell PMC's….
Add support for Intel Skylake and Intel Broadwell PMC's. The Broadwell PMC's…
Nov 30 2015, 5:36 PM

Nov 13 2015

rrs accepted D4154: Clean up unused bandwidth entry in the TCP hostcache.

Looks good to me :-)

Nov 13 2015, 10:53 PM
rrs committed rS290805: This fixes several places where callout_stops return is examined. The.
This fixes several places where callout_stops return is examined. The
Nov 13 2015, 10:51 PM
rrs updated the diff for D4055: First step to modularize TCP including two added tcp modules that can be played with..

Adds Jonathan's code (with one minor modification to make it print right).

Nov 13 2015, 7:47 PM
rrs updated the diff for D4055: First step to modularize TCP including two added tcp modules that can be played with..

This updates the latest round from Jonathan.

Nov 13 2015, 11:26 AM
rrs added a comment to D3115: Fix return value for callout_stop_safe(9)..

The code currently in head will return one of three values:

Nov 13 2015, 11:23 AM
rrs added a comment to D4055: First step to modularize TCP including two added tcp modules that can be played with..

I can be convinced *not* to have a user space program (though that is exactly what unix was founded upon, a
bunch of small programs that did things for you that could be put together.. I am an old timer so I harken
from those days)..

Nov 13 2015, 10:38 AM

Nov 12 2015

rrs added a comment to D3115: Fix return value for callout_stop_safe(9)..

For some reason fabricator is not cooperating with me. sigh.

Nov 12 2015, 10:15 PM
rrs added a comment to D4055: First step to modularize TCP including two added tcp modules that can be played with..

I still wonder why we need a new user-space program, when you could use sysctls to do the same thing.

  • Well if you look at an email Hiren asked me .. how do I tell the number of pcb's that are there attached to it? The -l option does that for you.. the rest is just fluff... I am pretty set on having a user space function at this point, it also allows us to add more things in the future. So stop wondering and go with the flow :-)
Nov 12 2015, 10:07 PM
rrs updated the diff for D4055: First step to modularize TCP including two added tcp modules that can be played with..

This updates for the latest comments and adds back the missing
user program that I inadvertently took out of the diff (by not
diffing in the right place :-D)

Nov 12 2015, 12:01 PM
rrs added inline comments to D4055: First step to modularize TCP including two added tcp modules that can be played with..
Nov 12 2015, 11:54 AM
rrs committed rS290716: Some basic documentation (a man page) on kern_testfrwk.
Some basic documentation (a man page) on kern_testfrwk
Nov 12 2015, 11:42 AM
rrs committed rD47773: Bump new version number documentation for r290664 (v1100090).
Bump new version number documentation for r290664 (v1100090)
Nov 12 2015, 10:50 AM
rrs committed rS290715: Bump version number since callout_stop() macro now has new NULL arg..
Bump version number since callout_stop() macro now has new NULL arg.
Nov 12 2015, 10:48 AM
rrs committed rS290714: Style 9 changes..
Style 9 changes.
Nov 12 2015, 10:31 AM

Nov 11 2015

rrs committed rS290690: Add the MLINK for async_drain Thanks Edward for the pointer..
Add the MLINK for async_drain Thanks Edward for the pointer.
Nov 11 2015, 11:10 PM

Nov 10 2015

rrs committed rS290664: Add new async_drain to the callout system. This is so-far not used but.
Add new async_drain to the callout system. This is so-far not used but
Nov 10 2015, 2:49 PM