Page MenuHomeFreeBSD

rrs (Randall Stewart)
User

Projects

User Details

User Since
Jan 22 2015, 5:22 AM (516 w, 5 d)

Recent Activity

Thu, Dec 12

rrs added a comment to D47925: tcp_hpts: refactor the per tcpcb call to either input/output method.

Later I'd probably bring the input and output to same KBI, so that both return same signedness error for unlocked return. But this requires a sweeping change over stacks, so later.

Thu, Dec 12, 2:34 PM

Wed, Dec 11

rrs accepted D47925: tcp_hpts: refactor the per tcpcb call to either input/output method.

Ok after a detailed analysis:

Wed, Dec 11, 3:42 PM

Mon, Dec 9

rrs accepted D48001: icmp: improve INVARIANTS check.
Mon, Dec 9, 7:54 PM

Thu, Dec 5

rrs requested changes to D47925: tcp_hpts: refactor the per tcpcb call to either input/output method.
Thu, Dec 5, 12:34 PM

Wed, Dec 4

rrs added inline comments to D47925: tcp_hpts: refactor the per tcpcb call to either input/output method.
Wed, Dec 4, 9:45 PM
rrs added inline comments to D47925: tcp_hpts: refactor the per tcpcb call to either input/output method.
Wed, Dec 4, 9:43 PM

Mon, Nov 25

rrs accepted D47713: udp: Prefer memcpy() over bcopy.
Mon, Nov 25, 4:19 PM

Mon, Nov 18

rrs closed D47542: Change the SOCKBUF_LOCK calls to use the more refined SOCK_XXXBUF_LOCK/UNLOCK..
Mon, Nov 18, 2:29 PM

Nov 15 2024

rrs committed rG12fc79619aca: Change the SOCKBUF_LOCK calls to use the more refined SOCK_XXXBUF_LOCK/UNLOCK. (authored by rrs).
Change the SOCKBUF_LOCK calls to use the more refined SOCK_XXXBUF_LOCK/UNLOCK.
Nov 15 2024, 5:39 PM
rrs accepted D47542: Change the SOCKBUF_LOCK calls to use the more refined SOCK_XXXBUF_LOCK/UNLOCK..
Nov 15 2024, 5:31 PM
rrs accepted D47401: tcp: don't define and use BBLog function when TCP_BLACKBOX is not defined.

I agree with Michael here, macros badly hide things.. which is their intention :)

Nov 15 2024, 5:28 PM

Nov 13 2024

rrs added reviewers for D47542: Change the SOCKBUF_LOCK calls to use the more refined SOCK_XXXBUF_LOCK/UNLOCK.: glebius, tuexen, rscheff.
Nov 13 2024, 7:02 PM
rrs requested review of D47542: Change the SOCKBUF_LOCK calls to use the more refined SOCK_XXXBUF_LOCK/UNLOCK..
Nov 13 2024, 7:01 PM
rrs accepted D47056: tcp: allow TSO even while RX path is unordered.
Nov 13 2024, 2:56 PM
rrs requested changes to D47056: tcp: allow TSO even while RX path is unordered.
Nov 13 2024, 2:33 PM

Oct 23 2024

rrs accepted D47056: tcp: allow TSO even while RX path is unordered.
Oct 23 2024, 7:56 PM

Aug 20 2024

rrs accepted D46383: tcp: improve consistency.
Aug 20 2024, 6:31 PM
rrs accepted D46378: tcp: initialize the LRO hash table correctly.
Aug 20 2024, 2:40 PM

Aug 9 2024

rrs committed rG872164f559d2: Non-tested experimental code removal. (authored by rrs).
Non-tested experimental code removal.
Aug 9 2024, 1:03 PM
rrs closed D45410: Non-tested experimental code removal..
Aug 9 2024, 1:03 PM

Aug 8 2024

rrs updated the diff for D45410: Non-tested experimental code removal..

Fix what I thought I had fixed i.e. Unused_71 .. but for some reason I missed it ⭕

Aug 8 2024, 5:07 PM
rrs accepted D46244: tcpsso: remove support for TCP_BBR_POLICER_DETECT.
Aug 8 2024, 5:04 PM
rrs updated the diff for D45410: Non-tested experimental code removal..

go through all the enum's and mark UNUSED those that are not used.

Aug 8 2024, 2:43 PM

Aug 5 2024

rrs accepted D46221: tcp_ratelimit: provide a hook for drivers to release ratesets at detach.

I am fine with this Drew, just went through and verified the departure code running earlier should have no impact...

Aug 5 2024, 2:40 PM

Jul 30 2024

rrs accepted D45410: Non-tested experimental code removal..
Jul 30 2024, 6:10 PM

Jul 26 2024

rrs updated the diff for D45410: Non-tested experimental code removal..

This changes the enum, as discussed on a previous conf call to be "UNUSED" still taking the slot. I don't necessarily
agree with that but if everyone else wants it I am fine with it :)

Jul 26 2024, 11:12 AM

Jun 27 2024

rrs updated the diff for D45410: Non-tested experimental code removal..

Take out inadvertent space adds.

Jun 27 2024, 10:28 AM
rrs added inline comments to D45410: Non-tested experimental code removal..
Jun 27 2024, 10:26 AM

Jun 14 2024

rrs updated the diff for D45410: Non-tested experimental code removal..

This gets rid of the defines mentioned by Michael in comments and as prescribed by Gleb on the last TCP conf call i.e.
we comment them out like in other code.

Jun 14 2024, 8:59 AM
rrs closed D45216: Remove TCP_SAD optional code now that the sack filter performs this function..
Jun 14 2024, 8:51 AM

May 31 2024

rrs added reviewers for D45410: Non-tested experimental code removal.: tuexen, rscheff.
May 31 2024, 11:42 AM

May 30 2024

rrs accepted D45412: tcp: remove unused code in tcp_usr_attach.
May 30 2024, 3:25 PM
rrs accepted D45411: tcp: simplify endpoint creation at the passive side.
May 30 2024, 3:23 PM
rrs added a comment to D45410: Non-tested experimental code removal..

rcv-ack-finwait-1-ipv6 PASSED
rcv-fin-finwait-1-ipv4 PASSED
rcv-fin-finwait-1-ipv6 PASSED
rcv-fin-finwait-2-ipv4 PASSED
rcv-fin-finwait-2-ipv6 PASSED
rcv-ack-closing-ipv4 PASSED
rcv-ack-closing-ipv6 PASSED
rcv-ack-last-ack-ipv4 PASSED
rcv-ack-last-ack-ipv6 PASSED
rcv-ack-timewait-ipv4 PASSED
rcv-ack-timewait-ipv6 PASSED
rcv-fin-timewait-ipv4 PASSED
rcv-fin-timewait-ipv6 PASSED
rcv-syn-timewait-ipv4 PASSED

rcv-syn-timewait-ipv6 PASSED

Summary: Number of tests run: 881

Number of tests passed:                 849
Number of tests failed (expected):       32
Number of tests failed (unexpected):      0
Number of tests timed out (expected):     0
Number of tests timed out (unexpected):   0
Number of tests skipped:                  0
May 30 2024, 11:07 AM
rrs requested review of D45410: Non-tested experimental code removal..
May 30 2024, 11:05 AM
rrs accepted D45253: tcp: simplify stack switching protocol.
May 30 2024, 10:57 AM

May 18 2024

rrs committed rGea916b64125b: Remove TCP_SAD optional code now that the sack filter performs this function. (authored by rrs).
Remove TCP_SAD optional code now that the sack filter performs this function.
May 18 2024, 2:59 PM

May 16 2024

rrs requested review of D45216: Remove TCP_SAD optional code now that the sack filter performs this function..
May 16 2024, 12:01 PM

May 11 2024

rrs closed D44903: TCP can be subject to Sack Attacks lets fix this issue..

Committed it: fce03f85c5bf

May 11 2024, 1:34 PM
rrs accepted D45122: tcp rack: do not send a challenge ack in the front stages.
May 11 2024, 1:24 PM

May 5 2024

rrs committed rGfce03f85c5bf: TCP can be subject to Sack Attacks lets fix this issue. (authored by rrs).
TCP can be subject to Sack Attacks lets fix this issue.
May 5 2024, 1:11 PM

May 4 2024

rrs added inline comments to D44903: TCP can be subject to Sack Attacks lets fix this issue..
May 4 2024, 12:59 PM

May 3 2024

rrs updated the diff for D44903: TCP can be subject to Sack Attacks lets fix this issue..

Address all of Richards comments including the one I had to think about it was correct :)

May 3 2024, 1:07 PM
rrs added inline comments to D44903: TCP can be subject to Sack Attacks lets fix this issue..
May 3 2024, 12:48 PM

Apr 30 2024

rrs updated the diff for D44903: TCP can be subject to Sack Attacks lets fix this issue..

One more update, need to use the tcp function call not t_maxseg - 12 to get the maxseg for filtering purposes

Apr 30 2024, 3:56 PM
rrs updated the diff for D44903: TCP can be subject to Sack Attacks lets fix this issue..

Add detailed comments so it is more clear what is going on inside sack_filter.h

Apr 30 2024, 3:41 PM
rrs updated the test plan for D44903: TCP can be subject to Sack Attacks lets fix this issue..
Apr 30 2024, 3:10 PM
rrs updated the diff for D44903: TCP can be subject to Sack Attacks lets fix this issue..

One minor update my user space test did not show a new unused var that my kernel compile shows up. Fix that and
update the test information since I now validated the kernel version as well.

Apr 30 2024, 3:07 PM

Apr 25 2024

rrs updated the diff for D44903: TCP can be subject to Sack Attacks lets fix this issue..

Updated the diff to fix some corner cases and to better handle compile and testing in user space.

Apr 25 2024, 4:34 PM

Apr 22 2024

rrs requested review of D44903: TCP can be subject to Sack Attacks lets fix this issue..
Apr 22 2024, 2:19 PM

Apr 18 2024

rrs accepted D44746: tcp: drop data received after a FIN has been processed.
Apr 18 2024, 3:10 PM
rrs accepted D44648: tcp rack: improve BBR_LOG_CWND event.
Apr 18 2024, 3:06 PM
rrs requested changes to D44746: tcp: drop data received after a FIN has been processed.

Why are you removing the data after close checks in BBR and Rack. This is not related to getting a FIN (where you may
still be open). The point of that is so that if we have closed after dumping data into the SB, and then the peer sends in
a request (not realizing we have closed yet) to NOT send a RST until after all the data is through. This was useful for
NF since often times Nginx will close() a connection after filling the N requests and finishing dumping data into the sb.
It say has 1Meg in the buffer when it does close().

Apr 18 2024, 2:14 PM

Apr 5 2024

rrs accepted D44610: tcp rack: fix sending .
Apr 5 2024, 12:25 PM

Mar 31 2024

rrs added inline comments to D43213: tcp: retry CWR transmission if TSO doesn't support ECN.
Mar 31 2024, 12:07 PM
rrs added inline comments to D43297: tcp: remove superfluous checks for ECN session.
Mar 31 2024, 12:05 PM
rrs added inline comments to D44222: ipsec_accel: handle TSO if supported.
Mar 31 2024, 11:53 AM
rrs accepted D44527: TCP HPTS: improve consistency.
Mar 31 2024, 11:50 AM

Mar 28 2024

rrs committed rGb7b78c1c169d: Optimize HPTS so that little work is done until we have a hpts thread that is… (authored by rrs).
Optimize HPTS so that little work is done until we have a hpts thread that is…
Mar 28 2024, 12:13 PM
rrs closed D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.
Mar 28 2024, 12:13 PM

Mar 27 2024

rrs updated the diff for D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Add Drew's read_frequently compiler directive.

Mar 27 2024, 11:09 AM

Mar 26 2024

rrs added inline comments to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.
Mar 26 2024, 7:43 PM
rrs updated the diff for D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Update to Gleb and I's agreed upon reduction at the if in system.h

Mar 26 2024, 12:27 PM
rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

My bad, didn't understood proposed change. Of course if pointer stays stable since module load, there is no race.

Mar 26 2024, 11:53 AM

Mar 25 2024

rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.
In D44420#1014587, @rrs wrote:

Why not just use

if (hpts_that_need_softclock > 0)

tcp_hpts_softclock()\

?

But that would create the same race you mentioned above, wouldn't it? IMHO, using function pointer variable is the way to go and it potentially has a chance to get reduced to fewer instructions if compiler gets smarter.

Mar 25 2024, 10:51 PM

Mar 23 2024

rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Another issue we will need to address is multiple hpts threads trying to set the tcp_hpts_softclock pointer. One can envision
a case where you have one that is just lowering it to zero, and so goes into the "set" to NULL block. And another thread that
is going from 0 -> 1 and so goes into the set to function block.

Mar 23 2024, 8:08 PM
rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Why not just use

Mar 23 2024, 6:57 PM
rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Why can't we just clear and set the function pointer itself? That would reduce impact on userret() down to just one instruction.

Mar 23 2024, 11:13 AM

Mar 21 2024

rrs updated the diff for D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

I do believe the extern is not needed here since systm.h is included.

Mar 21 2024, 2:24 PM
rrs updated the diff for D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Adopt Drew's optimization suggestion and reverted back the sysctl Michael pointed out since the arg is unused (and here I thought
all these years it was the default).

Mar 21 2024, 2:22 PM
rrs added inline comments to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.
Mar 21 2024, 2:10 PM

Mar 20 2024

rrs updated the diff for D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Adopt Michael's suggestion to re-use one of the available bits for the flag.

Mar 20 2024, 6:20 PM
rrs added inline comments to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.
Mar 20 2024, 6:17 PM

Mar 19 2024

rrs updated the diff for D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

Updated to use an atomic instead of the u64_counter as Gleb suggests.

Mar 19 2024, 3:56 PM
rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

and yeah Drew we could add a block with sysctl

Mar 19 2024, 3:44 PM
rrs added a comment to D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.

I can easily change to an atomic.. I did not realize the fetch was expensive :)

Mar 19 2024, 3:43 PM
rrs requested review of D44420: Optimize HPTS so that little work is done until we have a hpts thread that is over the connection threshold.
Mar 19 2024, 10:18 AM

Mar 15 2024

rrs closed D43986: Update to bring the rack stack with all its fixes in..
Mar 15 2024, 5:15 PM

Mar 12 2024

rrs committed rGe18b97bd63a8: Update to bring the rack stack with all its fixes in. (authored by rrs).
Update to bring the rack stack with all its fixes in.
Mar 12 2024, 11:57 AM

Mar 11 2024

rrs accepted D43986: Update to bring the rack stack with all its fixes in..
Mar 11 2024, 3:46 PM
rrs committed rGf6d489f402c3: Update to bring the rack stack with all its fixes in. (authored by rrs).
Update to bring the rack stack with all its fixes in.
Mar 11 2024, 11:39 AM

Mar 7 2024

rrs accepted D44250: Deep copy tls_enable struct in copyin_tls_enable.
Mar 7 2024, 3:45 PM · NetApp
rrs accepted D44259: e1000: Make masks for TCP flag handling during TSO sysctl'able.
Mar 7 2024, 3:20 PM
rrs accepted D44258: ixgbe: Make masks for TCP flag handling during TSO sysctl'able.
Mar 7 2024, 3:20 PM
rrs accepted D43727: TCP LRO: add dtrace probe points.
Mar 7 2024, 3:16 PM
rrs accepted D43769: TCP LRO: disable mbuf queuing when packet filter hooks are in place.
Mar 7 2024, 3:10 PM

Mar 1 2024

rrs committed rG638b5ae1c785: HTPS has actually three states not two so the macro needs to account for that. (authored by rrs).
HTPS has actually three states not two so the macro needs to account for that.
Mar 1 2024, 8:24 PM
rrs closed D44157: HTPS has actually three states not two so the macro needs to account for that..
Mar 1 2024, 8:23 PM
rrs updated the diff for D44157: HTPS has actually three states not two so the macro needs to account for that..

Add in the additional MPASS as Gleb suggested.

Mar 1 2024, 12:59 PM
rrs added a comment to D44157: HTPS has actually three states not two so the macro needs to account for that..

Good catch Gleb, I missed the hpts.c changes.. I will update it :=)

Mar 1 2024, 12:53 PM

Feb 29 2024

rrs added inline comments to D44157: HTPS has actually three states not two so the macro needs to account for that..
Feb 29 2024, 7:58 PM
rrs updated the summary of D44157: HTPS has actually three states not two so the macro needs to account for that..
Feb 29 2024, 7:56 PM
rrs added inline comments to D44157: HTPS has actually three states not two so the macro needs to account for that..
Feb 29 2024, 5:47 PM
rrs updated the diff for D43986: Update to bring the rack stack with all its fixes in..

So in testing I found a slight bug in that we were on the connect() side setting up the PCM max seg to
early. This means we end up with 10 x 512 not 10 x mss. Lets fix it so just like the listening side things get
deferred until we have gotten to the established state.

Feb 29 2024, 4:31 PM
rrs added a comment to D43986: Update to bring the rack stack with all its fixes in..

The hpts change is now in https://reviews.freebsd.org/D44157

Feb 29 2024, 4:07 PM
rrs requested review of D44157: HTPS has actually three states not two so the macro needs to account for that..
Feb 29 2024, 4:07 PM
rrs updated the diff for D43986: Update to bring the rack stack with all its fixes in..

This separates out the hpts fix. Will add that as a new review after I drop this in. I have
tested the combined hpts fix and this with the current head and everything works as
expected :)

Feb 29 2024, 4:05 PM
rrs added a comment to D43986: Update to bring the rack stack with all its fixes in..

I still need to re-test this after the last sync I did.. will do that and then split out the hpts change and update the diff before landing..

Feb 29 2024, 3:10 PM

Feb 28 2024

rrs accepted D43986: Update to bring the rack stack with all its fixes in..
Feb 28 2024, 6:56 PM

Feb 26 2024

rrs updated the diff for D43986: Update to bring the rack stack with all its fixes in..

Ok update to after the sync. Also I forgot to add in the inherit calls in the syncache and the tcp_usr_attach

Feb 26 2024, 2:25 PM