Page MenuHomeFreeBSD

jtl (Jonathan T. Looney)Administrator
User

Projects

User Details

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

Recent Activity

Sat, Sep 8

jtl added a comment to D17065: Use ratecheck(9) in in_pcbinslbgrouphash()..

Hi. I know I'm late to the party, but I have three comments:
a) I could be wrong, but I don't think there is any guarantee this won't be called simultaneously for two different groups at the same time. (The groups could be in different VNETs, for example.) In that case, two different invocations could be working on the function's static variables at the same time. That may produce unexpected results. (Granted, it would take an unusual series of events. But, I think we've all seen highly unusual events occur.)
b) I don't think the const variable also needs to be static.
c) It seems like the rate limiter should really be per-group, so I would suggest adding the lastprint variable to the inpcblbgroup struct.

Sat, Sep 8, 12:56 AM

Thu, Aug 23

jtl added a comment to D16847: Eliminate KAME custom circular queues in reassembly code..

FYI, something didn't look right doing my tests. So, I'm going to delay committing this until I can satisfy myself that it behaves correctly. That will almost certainly mean I miss the code freeze. C'est la vie!

Thu, Aug 23, 10:25 PM
jtl updated the diff for D16847: Eliminate KAME custom circular queues in reassembly code..
  • Limit the ipq structure to the kernel to eliminate a buildworld failure. (And, why should we make userspace code import the sys/queue.h header for a structure they don't need anyway?)
  • Address @jhb's nit.
Thu, Aug 23, 10:24 PM
jtl accepted D16860: Use arc4rand() instead of read_random().
Thu, Aug 23, 6:16 PM
jtl added inline comments to D16847: Eliminate KAME custom circular queues in reassembly code..
Thu, Aug 23, 1:09 PM

Aug 22 2018

jtl added a comment to D16471: Some TCP reassembly improvements.

D16626 expanded on these changes and was recently committed. I believe we can close this one out.

Aug 22 2018, 5:40 PM
jtl created D16850: Update the fragment reassembly code's handling of overlapping fragments to conform to RFC 8200..
Aug 22 2018, 5:31 PM
jtl created D16847: Eliminate KAME custom circular queues in reassembly code..
Aug 22 2018, 4:27 PM

Aug 21 2018

jtl accepted D16835: KASSERT: Make runtime optionality optional.
Aug 21 2018, 8:31 PM

Aug 18 2018

jtl accepted D16626: Rewrite of TCP Reassembly code.
Aug 18 2018, 10:32 PM
jtl accepted D16626: Rewrite of TCP Reassembly code.

LGTM (with minor change noted in-line).

Aug 18 2018, 10:24 AM
jtl added a comment to D16626: Rewrite of TCP Reassembly code.
In D16626#356917, @rrs wrote:

This version incorporates all of Jonathans comments and suggested improvements. Thanks
Jonathan!!!

Aug 18 2018, 10:22 AM

Aug 14 2018

jtl committed rS337804: MFC r337788:.
MFC r337788:
Aug 14 2018, 6:17 PM
jtl committed rS337803: MFC r337787:.
MFC r337787:
Aug 14 2018, 6:15 PM
jtl committed rS337802: MFC r337786:.
MFC r337786:
Aug 14 2018, 6:13 PM
jtl committed rS337801: MFC r337784:.
MFC r337784:
Aug 14 2018, 6:12 PM
jtl committed rS337799: MFC r337783:.
MFC r337783:
Aug 14 2018, 6:10 PM
jtl committed rS337798: MFC r337782:.
MFC r337782:
Aug 14 2018, 6:07 PM
jtl committed rS337797: MFC r337781:.
MFC r337781:
Aug 14 2018, 6:00 PM
jtl committed rS337796: MFC r337780:.
MFC r337780:
Aug 14 2018, 5:54 PM
jtl committed rS337795: MFC r337778:.
MFC r337778:
Aug 14 2018, 5:52 PM
jtl committed rS337790: MFC r337776:.
MFC r337776:
Aug 14 2018, 5:47 PM
jtl committed rS337789: MFC r337775:.
MFC r337775:
Aug 14 2018, 5:43 PM
jtl committed rS337788: Update the inet(4) and inet6(4) man pages to reflect the changes made.
Update the inet(4) and inet6(4) man pages to reflect the changes made
Aug 14 2018, 5:36 PM
jtl committed rS337787: Lower the default limits on the IPv6 reassembly queue..
Lower the default limits on the IPv6 reassembly queue.
Aug 14 2018, 5:32 PM
jtl committed rS337786: Lower the default limits on the IPv4 reassembly queue..
Lower the default limits on the IPv4 reassembly queue.
Aug 14 2018, 5:30 PM
jtl committed rS337784: Drop 0-byte IPv6 fragments..
Drop 0-byte IPv6 fragments.
Aug 14 2018, 5:29 PM
jtl committed rS337783: Implement a limit on on the number of IPv6 reassembly queues per bucket..
Implement a limit on on the number of IPv6 reassembly queues per bucket.
Aug 14 2018, 5:27 PM
jtl committed rS337782: Add a limit of the number of fragments per IPv6 packet..
Add a limit of the number of fragments per IPv6 packet.
Aug 14 2018, 5:26 PM
jtl committed rS337781: Make the IPv6 fragment limits be global, rather than per-VNET, limits..
Make the IPv6 fragment limits be global, rather than per-VNET, limits.
Aug 14 2018, 5:24 PM
jtl committed rS337780: Implement a limit on on the number of IPv4 reassembly queues per bucket..
Implement a limit on on the number of IPv4 reassembly queues per bucket.
Aug 14 2018, 5:23 PM
jtl committed rS337778: Add a global limit on the number of IPv4 fragments..
Add a global limit on the number of IPv4 fragments.
Aug 14 2018, 5:20 PM
jtl committed rS337776: Improve IPv6 reassembly performance by hashing fragments into buckets..
Improve IPv6 reassembly performance by hashing fragments into buckets.
Aug 14 2018, 5:17 PM
jtl committed rS337775: Improve hashing of IPv4 fragments..
Improve hashing of IPv4 fragments.
Aug 14 2018, 5:16 PM

Aug 6 2018

jtl committed rS337392: MFC r337390: Bump date after r337384..
MFC r337390: Bump date after r337384.
Aug 6 2018, 6:47 PM
jtl committed rS337391: MFC r337390: Bump date after r337384..
MFC r337390: Bump date after r337384.
Aug 6 2018, 6:46 PM
jtl committed rS337390: Bump date after r337384..
Bump date after r337384.
Aug 6 2018, 6:42 PM
jtl committed rS337389: Address concerns about CPU usage while doing TCP reassembly..
Address concerns about CPU usage while doing TCP reassembly.
Aug 6 2018, 5:50 PM
jtl committed rS337388: Address concerns about CPU usage while doing TCP reassembly..
Address concerns about CPU usage while doing TCP reassembly.
Aug 6 2018, 5:48 PM
jtl committed rS337387: Address concerns about CPU usage while doing TCP reassembly..
Address concerns about CPU usage while doing TCP reassembly.
Aug 6 2018, 5:48 PM
jtl committed rS337386: MFC r337384:.
MFC r337384:
Aug 6 2018, 5:46 PM
jtl committed rS337385: MFC r337384:.
MFC r337384:
Aug 6 2018, 5:42 PM
jtl committed rS337384: Address concerns about CPU usage while doing TCP reassembly..
Address concerns about CPU usage while doing TCP reassembly.
Aug 6 2018, 5:37 PM

Jul 28 2018

jtl accepted D16485: Fix some TCP fast open issues.
Jul 28 2018, 11:28 PM

Jul 27 2018

jtl created D16471: Some TCP reassembly improvements.
Jul 27 2018, 5:36 PM

Jul 25 2018

jtl committed rD52056: Update PGP key for jtl..
Update PGP key for jtl.
Jul 25 2018, 2:55 AM

Jul 24 2018

jtl accepted D16420: Fastpath was a temp holder to give as an example and now needs to disappear.

Never mind. It looks like this is a display issue, and you really are deleting them.

Jul 24 2018, 2:18 PM
jtl requested changes to D16420: Fastpath was a temp holder to give as an example and now needs to disappear.

It looks like you're keeping the code by moving it to the modules directory? At this point, I think it just makes sense to delete it.

Jul 24 2018, 1:39 PM

Jun 18 2018

jtl added a comment to D15706: socket: introduction of destructor callback.
In D15706#334711, @jtl wrote:

Didn't quite catch this before it was committed. This isn't really a destructor, it's a close notification. Rather than confuse matters, as sockets have UMA destructors as well, this should probably be so_notify_close.

Yes, I caught that when I asked the submitter about the placement of the "destructor". But, once I figured out it was a close notification, I should have changed the name. Mea cupla.

Before changing this, let me see if I can confirm what the Linux implementation does.

Thanks, it is intended to be equivalent to sk_destruct() callback in struct sock in Linux.

Is the Linux sk_destruct called on socket close, or on socket destruction? If we want an actual socket destructor, we can add one of those [instead / as well], called from the socket destructor function.

It is literally destructor, which is called when the final reference count drops to zero. So probably we should define so_dtor() as destructor (so keep the name) and call it after SOCK_UNLOCK() in sofree(). (in Linux it is invoked without locking socket).

Jun 18 2018, 11:07 PM
jtl accepted D15686: convert inpcbhash rlock to epoch.
Jun 18 2018, 10:13 PM

Jun 15 2018

jtl added a comment to D15706: socket: introduction of destructor callback.

Didn't quite catch this before it was committed. This isn't really a destructor, it's a close notification. Rather than confuse matters, as sockets have UMA destructors as well, this should probably be so_notify_close.

Jun 15 2018, 6:19 PM
jtl updated subscribers of D15686: convert inpcbhash rlock to epoch.

I've spent some time thinking about this a bit, and I have the following comments. (Some may seem contradictory, but please bear with me. :-) )

Jun 15 2018, 3:32 PM
jtl added inline comments to D15815: Set page permissions for kernel modules.
Jun 15 2018, 1:59 AM

Jun 14 2018

jtl created D15815: Set page permissions for kernel modules.
Jun 14 2018, 11:27 PM

Jun 13 2018

jtl committed rS335068: Make UMA and malloc(9) return non-executable memory in most cases..
Make UMA and malloc(9) return non-executable memory in most cases.
Jun 13 2018, 5:05 PM
jtl closed D15691: Make kernel allocations be non-executable on some platforms.
Jun 13 2018, 5:04 PM
jtl updated the diff for D15691: Make kernel allocations be non-executable on some platforms.

Address @markj's feedback by always defining the vmd_kernel_rwx_arena member of the vm_domain struct.

Jun 13 2018, 4:47 PM
jtl added inline comments to D15691: Make kernel allocations be non-executable on some platforms.
Jun 13 2018, 4:41 PM

Jun 12 2018

jtl updated the diff for D15691: Make kernel allocations be non-executable on some platforms.

Update the zone(9) manpage.

Jun 12 2018, 12:42 PM

Jun 11 2018

jtl updated the diff for D15691: Make kernel allocations be non-executable on some platforms.

Okay, really without the cruft this time. (Hopefully...)

Jun 11 2018, 11:55 PM
jtl added a comment to D15686: convert inpcbhash rlock to epoch.

I'll try to look at this review this week.

Jun 11 2018, 11:54 PM
jtl added a reviewer for D15686: convert inpcbhash rlock to epoch: rwatson.
Jun 11 2018, 11:53 PM
jtl updated the diff for D15691: Make kernel allocations be non-executable on some platforms.

Get the correct version of sys/vm/vm_kern.c (with the troubleshooting stuff removed).

Jun 11 2018, 11:47 PM
jtl updated the diff for D15691: Make kernel allocations be non-executable on some platforms.

Numerous updates:

  • Address @alc's concerns by adding a new arena for allocations with non-standard permissions. Import a 2MB-aligned address block at a time into the arena. Release space back to the parent arena when able. But, only do this for architectures with superpages.
  • Plumb M_EXEC through malloc(9).
  • Fix BPF by reverting most of rS317072.
  • Add a note to the manpage that not all architectures will enforce execution permissions.
Jun 11 2018, 11:38 PM
jtl committed rS334983: Fix a memory leak for the BIOCSETWF ioctl on kernels with the BPF_JITTER.
Fix a memory leak for the BIOCSETWF ioctl on kernels with the BPF_JITTER
Jun 11 2018, 11:32 PM
jtl added a comment to D15758: Rack crash that Larry Rosenman found...

This passes my "sniff test", but it would be better to get @pkelsey to review it.

Jun 11 2018, 2:49 PM
jtl added reviewers for D15758: Rack crash that Larry Rosenman found..: transport, pkelsey.
Jun 11 2018, 2:45 PM
jtl requested changes to D15757: HPTS Is missing some support for Vnets.

I think there are more changes needed.

Jun 11 2018, 2:37 PM
jtl closed D15756: Change RACK dependency on TCPHPTS from build-time to load-time.
Jun 11 2018, 2:27 PM
jtl committed rS334949: Change RACK dependency on TCPHPTS from a build-time dependency to a load-.
Change RACK dependency on TCPHPTS from a build-time dependency to a load-
Jun 11 2018, 2:27 PM
jtl accepted D15634: Use updated TCP timestamps when retransmitting SYN-ACK using the syncache code path.
Jun 11 2018, 10:36 AM
jtl created D15756: Change RACK dependency on TCPHPTS from build-time to load-time.
Jun 11 2018, 10:31 AM

Jun 8 2018

jtl committed rS334854: Create a symlink for sodtor_set(9) to the socket(9) man page..
Create a symlink for sodtor_set(9) to the socket(9) man page.
Jun 8 2018, 7:47 PM
jtl closed D15706: socket: introduction of destructor callback.
Jun 8 2018, 7:35 PM
jtl committed rS334853: Add a socket destructor callback. This allows kernel providers to set.
Add a socket destructor callback. This allows kernel providers to set
Jun 8 2018, 7:35 PM
jtl accepted D15706: socket: introduction of destructor callback.

The submitter spoke to me in person at BSDCan and answered my questions.

Jun 8 2018, 6:38 PM
jtl added a comment to D15691: Make kernel allocations be non-executable on some platforms.
In D15691#331801, @alc wrote:

Overall, I think that this is a good idea, but the implementation has the following problem. The allocation of one executable page will block the promotion of the surrounding pages to a superpage mapping.

Jun 8 2018, 3:57 PM
jtl added inline comments to D15706: socket: introduction of destructor callback.
Jun 8 2018, 3:26 PM
jtl added a reviewer for D15706: socket: introduction of destructor callback: network.
Jun 8 2018, 3:26 PM

Jun 7 2018

jtl updated the diff for D15691: Make kernel allocations be non-executable on some platforms.

Incorporate review feedback from @jhb.

Jun 7 2018, 4:53 PM
jtl created D15691: Make kernel allocations be non-executable on some platforms.
Jun 7 2018, 4:04 PM
jtl committed rS334783: Fix a typo in vm_domain_set(). When a domain crosses into the severe range,.
Fix a typo in vm_domain_set(). When a domain crosses into the severe range,
Jun 7 2018, 1:32 PM
jtl added a comment to D15686: convert inpcbhash rlock to epoch.

I added a few basic comments while I ponder the rest...

Jun 7 2018, 2:46 AM
jtl added a reviewer for D15686: convert inpcbhash rlock to epoch: glebius.
Jun 7 2018, 2:28 AM

Jun 1 2018

jtl added a comment to D15646: Provide option to panic when the IPMI creates an NMI.

I don't know ISA well. I'm open to switching this to be an option to always panic on any NMI, instead of picking NMI_TIMER2 for special treatment.

Jun 1 2018, 5:33 PM
jtl created D15646: Provide option to panic when the IPMI creates an NMI.
Jun 1 2018, 5:05 PM
jtl created D15645: Update atomic man page to reflect reality.
Jun 1 2018, 4:52 PM
jtl committed rS334490: Update the sysctl(9) manpage to indicate that <sys/param.h> is required.
Update the sysctl(9) manpage to indicate that <sys/param.h> is required
Jun 1 2018, 4:47 PM

May 31 2018

jtl accepted D15222: Use UDP len when calculating UDP checksums.

I'm sorry it took me so long to review this.

May 31 2018, 3:08 PM
jtl added a comment to D15386: Improve portability of structs xinpcb and friends..

Anyone on transport care about this?

May 31 2018, 1:26 AM

May 24 2018

jtl added a comment to D11003: Load balance sockets with new SO_REUSEPORT_LB option.
In D11003#327485, @jtl wrote:

Is everyone on this review fine with me committing this? With the inheritance code removed, I believe there are no further objections or questions.

I've been meaning to review this, but have been delayed. I would appreciate a few extra days to look it over.

@jtl I'd like to commit this at some point this week, but I also want your feedback on it. Should we hold off until next week to drop this into head?

May 24 2018, 12:43 AM

May 21 2018

jtl added a comment to D11003: Load balance sockets with new SO_REUSEPORT_LB option.

Is everyone on this review fine with me committing this? With the inheritance code removed, I believe there are no further objections or questions.

May 21 2018, 9:09 PM
jtl accepted D15510: Defer inpcb deletion until after a grace period has elapsed.

Having stared at this a bit, I generally think its fine. In fact, in some aspects it is an improvement over what it replaces.

May 21 2018, 6:59 PM
jtl added a reviewer for D15510: Defer inpcb deletion until after a grace period has elapsed: rwatson.
May 21 2018, 6:21 PM
jtl added a comment to D15483: More bcmp "optimization".
In D15483#326763, @mjg wrote:

First a minor note is that I took the liberty of s/bzero/bcmp, which I presume was intended.

May 21 2018, 2:48 PM

May 18 2018

jtl added a comment to D15483: More bcmp "optimization".

By the way, measurements were taken on an Intel E5-2697A v4 (32-core Broadwell).

May 18 2018, 7:26 PM
jtl created D15483: More bcmp "optimization".
May 18 2018, 7:18 PM

May 16 2018

jtl added a comment to D7135: A problem with ASYNC drain.

Yes, see rS302894, rS302997, rS302998, rS303037, rS303096, and rS303098.

May 16 2018, 6:49 PM

May 13 2018

jtl added a comment to D15222: Use UDP len when calculating UDP checksums.

Sorry it took me a while to look at this. See comments in-line.

May 13 2018, 12:32 AM
jtl added a reviewer for D15222: Use UDP len when calculating UDP checksums: transport.
May 13 2018, 12:31 AM