Page MenuHomeFreeBSD

jtl (Jonathan T. Looney)
UserAdministrator

Projects

User Details

User Since
Oct 29 2015, 5:25 PM (202 w, 3 d)
Roles
Administrator

Recent Activity

Sat, Sep 14

jtl added inline comments to D21644: During SYN floods, fallback exclusively to SYN cookies for a small period.
Sat, Sep 14, 1:13 AM

Fri, Sep 13

jtl created D21644: During SYN floods, fallback exclusively to SYN cookies for a small period.
Fri, Sep 13, 7:09 PM

Tue, Sep 3

jtl abandoned D17609: Optimize curthread.

An alternative, better, version was implemented by @mjg in rS339449.

Tue, Sep 3, 6:19 PM
jtl abandoned D7350: PMC: Collect user call chains while in kernel space.

This was largely committed by mmacy last year.

Tue, Sep 3, 6:17 PM
jtl abandoned D15483: More bcmp "optimization".
Tue, Sep 3, 6:15 PM

Mon, Aug 19

jtl added inline comments to D20655: Make use of stats(3) in the TCP stack.
Mon, Aug 19, 1:39 PM

Aug 10 2019

jtl committed rS350829: MFC r350815:.
MFC r350815:
Aug 10 2019, 12:03 AM
jtl committed rS350828: MFC r350815:.
MFC r350815:
Aug 10 2019, 12:01 AM

Aug 9 2019

jtl added inline comments to D20655: Make use of stats(3) in the TCP stack.
Aug 9 2019, 6:48 PM
jtl committed rS350815: In m_pulldown(), before trying to prepend bytes to the subsequent mbuf,.
In m_pulldown(), before trying to prepend bytes to the subsequent mbuf,
Aug 9 2019, 5:19 AM

Jul 29 2019

jtl added a comment to D18624: improvements to support code for RFC6675.

This looks like it does what is described. As I understand, the use of delivered_data will be covered by a separate review. It looks like this will slightly change the way sacked_bytes is calculated. The change is probably a good thing, but it is worth verifying (and I haven't done this yet) that the updated calculation will work correctly.

Jul 29 2019, 7:16 PM

Jul 18 2019

D16851: Add support for header chain validation on IPv6 Fragments (RFC7112) now requires changes to proceed.
Jul 18 2019, 2:46 PM
jtl accepted D13293: Don't return IIC_Exxxxx status values to userspace.
Jul 18 2019, 2:28 PM

Jun 19 2019

jtl committed rS349197: MFC r349192:.
MFC r349192:
Jun 19 2019, 4:25 PM
jtl committed rS349192: Add the ability to limit how much the code will fragment the RACK send map.
Add the ability to limit how much the code will fragment the RACK send map
Jun 19 2019, 1:55 PM

Jun 12 2019

jtl committed rS348996: The current IPMI KCS code is waiting 100us for all transitions (roughly.
The current IPMI KCS code is waiting 100us for all transitions (roughly
Jun 12 2019, 4:06 PM
jtl closed D20527: improve performance of ipmi kcs interface..
Jun 12 2019, 4:06 PM

Jun 8 2019

jtl committed rS348810: Currently, MCA entries remain on an every-growing linked list. This means.
Currently, MCA entries remain on an every-growing linked list. This means
Jun 8 2019, 6:27 PM
jtl closed D20482: Free MCA entries after logging.
Jun 8 2019, 6:27 PM

Jun 7 2019

jtl added a comment to D20482: Free MCA entries after logging.

In my local tree, I added functions to generate fake machine check records and exercise the logic now found in mca_process_records(). It appears to work correctly. I *think* this is now ready to land.

Jun 7 2019, 10:15 AM
jtl updated the diff for D20482: Free MCA entries after logging.

Changes based on review:

  • Switched to using STAILQ_CONCAT to refill the free list.
  • Dropped redundant calls to resize the free list.
  • Centralized the logging logic to reduce code duplication.
Jun 7 2019, 9:49 AM

Jun 6 2019

jtl added inline comments to D20482: Free MCA entries after logging.
Jun 6 2019, 12:43 AM

Jun 5 2019

jtl accepted D20527: improve performance of ipmi kcs interface..
Jun 5 2019, 7:57 PM
jtl added reviewers for D20527: improve performance of ipmi kcs interface.: imp, jhb.
Jun 5 2019, 7:56 PM

May 31 2019

jtl added inline comments to D20482: Free MCA entries after logging.
May 31 2019, 11:27 PM
jtl updated the diff for D20482: Free MCA entries after logging.

Incorporate feedback from @jhb.

May 31 2019, 11:25 PM
jtl updated the diff for D20482: Free MCA entries after logging.

Try 2:
Maintain the last N records in the mca_records list. N is user-configurable and defaults to -1 (unlimited; the current behavior).

May 31 2019, 8:38 PM
jtl added a comment to D20482: Free MCA entries after logging.
In D20482#442176, @jhb wrote:

So I have had tools in the past that parsed the list from the kernel. See https://github.com/freebsd/freebsd/compare/master...bsdjhb:libsmbios_ecc. At the very least I think there should perhaps be a tunable/sysctl to control the behavior.

May 31 2019, 5:48 PM
jtl created D20482: Free MCA entries after logging.
May 31 2019, 5:22 PM

May 24 2019

jtl added a comment to D20109: Need to wait for epoch callbacks to complete before detaching network interface.

@glebius: Multicast destruction is deferred. When we destroy a multicast address we need to call the if_ioctl of the belonging network interface to remove any multicast addresses. That's the problem. I think draining is a good way to implement a safe solution instead of using refcounts. Then we ensure that the ifnet is in a certain state when the multicast destruction callbacks are invoked.

May 24 2019, 2:30 PM

May 23 2019

jtl requested changes to D19622: Fix panic in network stack due memory use after free in relation to fragmented packets.

In the interests of avoiding discussion fragmentation, I am adding the feedback from the transport working group meeting today.

May 23 2019, 6:16 PM
jtl accepted D20374: Add PAWS check for ACK segments in the syncache code.
May 23 2019, 3:01 PM

Apr 25 2019

jtl accepted D20028: Track TCP connection's NUMA domain in the inpcb.

Accepting the inp change as transport role to unblock the review.

Apr 25 2019, 2:43 PM
jtl updated subscribers of D18811: nuke sack_newdata.
Apr 25 2019, 2:19 PM

Apr 18 2019

jtl added a comment to D19960: Remove support for RFC2675.
In D19960#429052, @bz wrote:

That said, there are vendors who list it (maybe not on the forwarding plane) but as RFC compliance supporting it:
https://www.juniper.net/documentation/en_US/junos/topics/reference/standards/ipv6.html

Apr 18 2019, 10:30 PM
jtl updated subscribers of D19960: Remove support for RFC2675.

I agree with @bz about ideal process. I also agree with @kristof about the practical implications of this feature. :-)

Apr 18 2019, 7:48 PM

Apr 13 2019

jtl accepted D19851: Fix warnings with lib/libpmc.

LGTM

Apr 13 2019, 11:03 PM
jtl added inline comments to D19895: Fix up CXXSTD support, added in r345708.
Apr 13 2019, 10:57 PM
jtl accepted D19861: Update and clarify pflog man page.
Apr 13 2019, 10:47 PM

Mar 18 2019

jtl added a comment to D19611: Incorrect KASSERT.

I'm confused how a RST could have tripped this assert. In that case, len should have been 0 and ((th_flags) & (TH_SYN | TH_FIN)) == 0 should have been true (i.e. neither SYN nor FIN was set). In other words, it looks to me as if a RST should already pass the assert without tripping it. Can you explain further what I'm missing?

Mar 18 2019, 3:37 PM

Feb 21 2019

jtl accepted D18960: Patch to MFC TCP reassembly rewrite to stable/11.
Feb 21 2019, 7:09 PM
jtl accepted D19181: Improve input validation when when using IP_HDRINCL socket option on SOCK_RAW sockets.

Thanks!

Feb 21 2019, 7:03 PM

Feb 12 2019

jtl accepted D19158: Add rc.resume(8) alias for rc(8) to fix the manpage cross references.

Approved.

Feb 12 2019, 11:33 AM
jtl added a comment to D19157: MFC r342598:.

(FYI, the revision looks incorrect. It looks like it should have been r342597.)

Feb 12 2019, 11:31 AM
jtl accepted D19157: MFC r342598:.

Approved

Feb 12 2019, 11:29 AM
jtl accepted D19156: MFC r342904:.

Please feel free to commit with "Approved by: jtl".

Feb 12 2019, 3:11 AM
jtl accepted D19155: MFC r342904:.

Please feel free to commit with "Approved by: jtl".

Feb 12 2019, 3:10 AM
jtl added a comment to D18950: Remove references to pdwait4(2) and `CAP_PDWAIT` from rights(4).

@jonathan , @pjd : Does this change look okay to you? You both committed some of the bits being reverted (although, its been 7-8 years since then).

Feb 12 2019, 3:01 AM
jtl added reviewers for D18950: Remove references to pdwait4(2) and `CAP_PDWAIT` from rights(4): pjd, jonathan.
Feb 12 2019, 3:00 AM
jtl accepted D19151: MFC r343444:.

I assume this is the stable/12 version of D19150?

Feb 12 2019, 2:54 AM
jtl accepted D19150: MFC r339343,r343444:.

Feel free to commit with "Approved by: jtl"

Feb 12 2019, 2:50 AM
jtl accepted D19024: Fix up concurrent test zpool setup and teardown.

Feel free to commit with "Approved by: jtl".

Feb 12 2019, 2:47 AM

Feb 1 2019

jtl committed rS343662: Add bz@ as a co-mentor for thj@..
Add bz@ as a co-mentor for thj@.
Feb 1 2019, 3:38 PM

Jan 13 2019

jtl accepted D17521: Correct accounting when dropping fragment queues.

Please commit with "Approved by: jtl"

Jan 13 2019, 12:04 AM

Jan 11 2019

jtl added a comment to D17511: Add stat counter for ipv6 atomic fragments.

Has this landed yet?

Jan 11 2019, 10:02 PM
jtl accepted D18354: Fix style nit.

Please commit with Approved by: jtl

Jan 11 2019, 10:02 PM
jtl requested changes to D16851: Add support for header chain validation on IPv6 Fragments (RFC7112).
Jan 11 2019, 10:01 PM
jtl added inline comments to D17521: Correct accounting when dropping fragment queues.
Jan 11 2019, 7:55 PM
jtl added a reviewer for D17521: Correct accounting when dropping fragment queues: bz.
Jan 11 2019, 7:50 PM
jtl added a comment to D18621: Copy ^/head/.arcconfig to ^/vendor/.arcconfig.

By the way, in the commit message, please make it clear that this simple "allows" you to more easily use arc if you want your changes to be reviewed. It doesn't require it in any way, shape, or form. And, we're not changing any expectations regarding when someone will get review.

Jan 11 2019, 7:44 PM
jtl accepted D18621: Copy ^/head/.arcconfig to ^/vendor/.arcconfig.

LGTM

Jan 11 2019, 7:42 PM
jtl added a comment to D18622: Import GoogleTest 1.8.1 into the vendor tree under `^/google/googletest/dist`.

I'm OK with importing the code as an option for developers to use. I'd be wary of specifying that there is a "plan" to convert existing test cases unless there is general buy in to do that.

Jan 11 2019, 7:42 PM
jtl added a comment to D18640: Add Linux compatibility support for `SC_NPROCESSORS_{CONF,ONLN}` as `_SC_NPROCESSORS_{CONF,ONLN}`.

Regardless of what the group says, it seems like we'll probably want to support both for a transitional period. Given that, this change seems OK. @emaste , do you agree?

Jan 11 2019, 7:36 PM
jtl added a comment to D18641: Clean up all directories created by `make hier`.

Since make clean runs first, I'm assuming the only things left will be things with flags set? If so, what you propose is probably correct (and we don't need the rm/chflags/rm "dance" optimization).

Jan 11 2019, 7:30 PM
jtl accepted D18804: MFC: r342597.
Jan 11 2019, 7:24 PM

Dec 17 2018

jtl accepted D18580: Accept always TCP segment with SEG.SEQ==RCV.NXT.
Dec 17 2018, 11:38 PM
jtl accepted D18580: Accept always TCP segment with SEG.SEQ==RCV.NXT.

LGTM; would appreciate also hearing @rrs's opinion.

Dec 17 2018, 8:31 PM
jtl added inline comments to D18580: Accept always TCP segment with SEG.SEQ==RCV.NXT.
Dec 17 2018, 4:11 PM

Nov 16 2018

jtl committed rS340483: Add some additional length checks to the IPv4 fragmentation code..
Add some additional length checks to the IPv4 fragmentation code.
Nov 16 2018, 6:33 PM
jtl closed D17922: More IPv4 fragment checks.
Nov 16 2018, 6:33 PM

Nov 9 2018

jtl added a comment to D17914: Check for an overly large fragment..

I'm writing a regression test for this to stick under tests/sys/netinet. I'll see if I can add test cases for D17922 as well.

Nov 9 2018, 5:24 PM
jtl created D17922: More IPv4 fragment checks.
Nov 9 2018, 2:56 PM
jtl added a comment to D17914: Check for an overly large fragment..

Yeah, I saw this shortly before seeing this review. I agree we should fix it.

Nov 9 2018, 12:31 AM

Nov 8 2018

jtl accepted D17909: Avoid buffer underwrite in icmp_error.

If alignment is important, we can (theoretically) do something more intelligent to maintain it. However, I think this is both safe and good enough for an emergency fix.

Nov 8 2018, 4:47 PM

Nov 2 2018

jtl committed rS340077: m_pulldown() may reallocate n. Update the oip pointer after the.
m_pulldown() may reallocate n. Update the oip pointer after the
Nov 2 2018, 7:14 PM

Oct 18 2018

jtl added a comment to D17609: Optimize curthread.
In D17609#375841, @mjg wrote:

I think this is a very questionable idea. In my experience clang does *mostly* not re-read. For all cases you are adding a function call.
See vfs_ref/vfs_rel or fsetown as examples.
Can you show me a specific function which compiles to multiple reads of gs just to get curthread?

Oct 18 2018, 6:02 PM
jtl created D17609: Optimize curthread.
Oct 18 2018, 3:24 PM
jtl committed rS339419: r334853 added a "socket destructor" callback. However, as implemented, it.
r334853 added a "socket destructor" callback. However, as implemented, it
Oct 18 2018, 2:20 PM
jtl closed D17590: Update the socket destructor to run in sofree().
Oct 18 2018, 2:20 PM
jtl added a comment to D17604: Maintain qualifiers on (struct thread_lite) members.
In D17604#375736, @kib wrote:

I definitely agree with the genoffset.sh changes.
On the other hand, I am not sure that we need to restore volatile qualifiers in the thread_lite, instead of removing them in the struct thread. The manipulations of the critnest level and pin count should use barriers, and I believe that the thread_lite patch and some of its follow-ups just did that. Volatile relied on the compiler-specific semantic to get similar effect.

Oct 18 2018, 1:20 PM
jtl created D17604: Maintain qualifiers on (struct thread_lite) members.
Oct 18 2018, 1:57 AM

Oct 16 2018

jtl created D17590: Update the socket destructor to run in sofree().
Oct 16 2018, 5:29 PM
jtl updated the diff for D17588: Fix TCP module unloading code to work with epoch(9) changes.

Fix stupid syntax error.

Oct 16 2018, 4:48 PM
jtl created D17588: Fix TCP module unloading code to work with epoch(9) changes.
Oct 16 2018, 4:39 PM
jtl committed rS339378: In r338102, the TCP reassembly code was substantially restructured. Prior.
In r338102, the TCP reassembly code was substantially restructured. Prior
Oct 16 2018, 2:41 PM
jtl closed D17503: Run epoch calls sooner and more reliably.

Let's merge from upstream if possible.

Oct 16 2018, 2:33 AM
jtl closed D17492: Fix early epoch calls.

Ok, call should be fine as well! In all cases, seems like writers are synchronized and any other usage is in the context of a protected section. CI also passes (though I haven't run it through SPARCv9+ and ARM, but we already have RMO and TSO coverage, nothing specific to ARM / SPARC with these changes).
Thanks again Jon. These are great.

Oct 16 2018, 2:32 AM
jtl committed rS339375: Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb..
Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb.
Oct 16 2018, 2:30 AM
jtl committed rS339374: Tag CK after import of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb..
Tag CK after import of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb.
Oct 16 2018, 12:50 AM
jtl committed rS339373: Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb..
Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb.
Oct 16 2018, 12:48 AM

Oct 13 2018

jtl accepted D17511: Add stat counter for ipv6 atomic fragments.

Please make the two changes suggested by bz@ and then feel free to commit this. I think its OK to ask re@ to commit this during the freeze. (I also won't be upset if they say "no".)

Oct 13 2018, 12:49 AM

Oct 12 2018

jtl accepted D17525: Move variable into proper block..
Oct 12 2018, 3:13 AM

Oct 11 2018

jtl added a comment to D17492: Fix early epoch calls.

Ok. I caught up with Matt offline. This doesn't solve the problem at hand. The API is not being used as intended in some areas, so we will work to address that. I would advise against merging this in as it doesn't address the underlying issues:

  • Some usage of epoch records is re-entrant: This is not supported. Supporting this would require atomic usage that would be, expensive. We have an easy fix for that.
Oct 11 2018, 1:17 AM

Oct 10 2018

jtl added a comment to D17503: Run epoch calls sooner and more reliably.
In D17503#373529, @jtl wrote:

See previous note in D17492 regarding the assumption that write-side functions are *not* called with-in a read-side critical. Does FreeBSD require that this is permitted?

See my comments in that review.
Regardless of whether that is true, it seems like this change would still be safe. Do you agree?

Is it expected by the kernel that ck_epoch write-side functions are safe to call on records that are already in a read-side critical section?
Helping me understand the intended use-case will allow me to answer accurately. There is further validation needed beyond poll.

Oct 10 2018, 7:49 PM
jtl added a comment to D17492: Fix early epoch calls.

The above change should not have any impact if ck_epoch is being correctly used. For that reason, it's good to go. However, I am concerned about a larger problem.

For barriers, we do assert that the caller is not in a read section. However, the CPU's record may still be in a read section. So, maybe we do violate the reader/writer assumption there, too.

As long as the CPU record does not require re-entrance support, that's fine. The requirement is that the record that is used to issue a write-side request is not in a read-side section. We can lift this restriction, but I'll need to validate a few things. Is the kernel violating this restriction at the moment? I had trouble understanding that from the example given, because if the tick handler has a dedicated record, there is no problem and then the above change is a no-op.
If the above constraint is being violated, then I'll get back to you tonight as I'll want to do some additional validation.

Oct 10 2018, 7:39 PM
jtl added a comment to D17503: Run epoch calls sooner and more reliably.

See previous note in D17492 regarding the assumption that write-side functions are *not* called with-in a read-side critical. Does FreeBSD require that this is permitted?

Oct 10 2018, 5:03 PM
jtl added a comment to D17492: Fix early epoch calls.

Thanks much for this. Note that the assumption here is a writer thread *should not* be calling ck_epoch_synchronize or write while inside of a read-side critical section. In other words, the active bit must be set to 0. In this situation, the invariant is not violated. If inside a read-side critical section, bets are off. Is the assumption or requirement here that it be safe to call synchronize from with-in a read-side critical section? If so, there are a few other areas we could fix up.

Oct 10 2018, 5:00 PM
jtl added a comment to D17492: Fix early epoch calls.

The other half of the original diff is now in D17503.

Oct 10 2018, 3:20 PM
jtl created D17503: Run epoch calls sooner and more reliably.
Oct 10 2018, 3:19 PM
jtl updated the summary of D17492: Fix early epoch calls.
Oct 10 2018, 2:35 PM