Page MenuHomeFreeBSD
Feed Advanced Search

Jul 12 2019

D20929: Add a UMA option to support cross domain frees while preserving locality for first-touch zones. is now accepted and ready to land.
Jul 12 2019, 12:28 PM

Jul 3 2019

D20839: Use unmapped (M_NOMAP) mbufs for zero-copy AIO writes via TOE. is now accepted and ready to land.
Jul 3 2019, 1:26 PM

Jun 28 2019

gallatin added inline comments to D20616: Add a new external mbuf type that holds multiple unmapped pages..
Jun 28 2019, 1:26 PM
gallatin accepted D20616: Add a new external mbuf type that holds multiple unmapped pages..
Jun 28 2019, 12:39 PM

Jun 24 2019

gallatin added reviewers for D20616: Add a new external mbuf type that holds multiple unmapped pages.: hselasky, slavash.
Jun 24 2019, 3:28 PM

Jun 22 2019

gallatin added inline comments to D20616: Add a new external mbuf type that holds multiple unmapped pages..
Jun 22 2019, 6:10 PM

Jun 12 2019

gallatin accepted D20617: Reject attempts to register a TCP stack being unloaded..
Jun 12 2019, 1:48 PM

Jun 5 2019

gallatin added a comment to D20525: Support MSI-X for passthrough devices with a separate PBA BAR..

Just wanted to chime in and say that this, in combination with https://reviews.freebsd.org/D20523, allows me to pass an add-in USB XHCI controller to a guest. Before this patch, bhyve would abort when passing through the problematic controller.

Jun 5 2019, 5:33 PM
gallatin added a comment to D20523: Don't simulate PBA access if the PBA is in a separate BAR..

Just wanted to chime in that this, in combination with https://reviews.freebsd.org/D20525, allows me to pass through an add-in USB XHCI controller to a guest OS. Before this patch, bhyve would segv.

Jun 5 2019, 5:32 PM

May 24 2019

gallatin accepted D20396: Missing "else" in cascaded condition (if).

I tend to think that neither of these is actually a problem, since in both cases, if the "if" is taken, we return or jump. But the fix seems harmless.

May 24 2019, 1:13 PM

May 22 2019

gallatin committed rS348109: x86 MCA: introduce MCA hooks for different vendor implementations.
x86 MCA: introduce MCA hooks for different vendor implementations
May 22 2019, 1:44 PM
gallatin accepted D20117: Restructure mbuf send tags to provide stronger guarantees..
May 22 2019, 12:13 AM

May 11 2019

gallatin accepted D20117: Restructure mbuf send tags to provide stronger guarantees..
May 11 2019, 12:52 PM

May 10 2019

gallatin committed rS347430: Bind TCP HPTS (pacer) threads to NUMA domains.
Bind TCP HPTS (pacer) threads to NUMA domains
May 10 2019, 1:41 PM
gallatin closed D20134: Bind TCP HPTS (pacer) threads to NUMA domains.
May 10 2019, 1:41 PM
gallatin accepted D20221: iflib: provide probe wrapper for vendor drivers.
May 10 2019, 12:20 PM

May 9 2019

gallatin committed rS347410: Remove IPSEC from GENERIC due to performance issues.
Remove IPSEC from GENERIC due to performance issues
May 9 2019, 10:38 PM
gallatin closed D20163: Remove IPSEC from GENERIC due to performance issues.
May 9 2019, 10:38 PM
gallatin added a reviewer for D20163: Remove IPSEC from GENERIC due to performance issues: cy.
May 9 2019, 12:33 PM

May 8 2019

gallatin added a member for iflib: gallatin.
May 8 2019, 6:19 PM
gallatin added a comment to D20163: Remove IPSEC from GENERIC due to performance issues.
In D20163#434567, @jhb wrote:

FWIW, my limited testing of IPsec doesn't use if_ipsec, but instead I used setkey. I think having the rc.d scripts for 'ipsec_enable' autoloading ipsec.ko is reasonable. Maybe if there are ports scripts for IKE daemons (raccoon, strongswan?) those rc.d scripts should also try to load modules they need.

May 8 2019, 5:54 PM

May 6 2019

gallatin accepted D20169: Make if_enc and if_ipsec kernel modules loadable by ifconfig(8).

Thank you!

May 6 2019, 1:17 PM
gallatin added a comment to D20163: Remove IPSEC from GENERIC due to performance issues.
In D20163#434345, @cem wrote:

No objection to moving IPSEC out of GENERIC (but continuing to build it as a module). Check with gnn@, as he originally added it.

I agree that teaching ifconfig about ipsec (option 1) seems the most straightforward way to provide compatibility through that interface.

May 6 2019, 1:17 PM
gallatin added a reviewer for D20163: Remove IPSEC from GENERIC due to performance issues: gnn.
May 6 2019, 1:16 PM

May 5 2019

gallatin added a comment to D20163: Remove IPSEC from GENERIC due to performance issues.

To make this change less painful for users, it seems like we should enable ifconfig to auto-load ipsec when ifconfig is invoked with ipsecX. ifconfig will currently try to load if_ipsec, and this does not work because the kernel module is ipsec.ko. So it seems like there are 3 obvious workarounds:

May 5 2019, 6:52 PM
gallatin created D20163: Remove IPSEC from GENERIC due to performance issues.
May 5 2019, 6:48 PM

May 3 2019

gallatin committed rS347055: Select lacp egress ports based on NUMA domain.
Select lacp egress ports based on NUMA domain
May 3 2019, 2:43 PM
gallatin closed D20060: Select lacp egress ports based on NUMA domain.
May 3 2019, 2:43 PM

May 2 2019

gallatin added inline comments to D20060: Select lacp egress ports based on NUMA domain.
May 2 2019, 11:40 PM
gallatin updated the diff for D20060: Select lacp egress ports based on NUMA domain.
  • Restored the fixes to the manpage formatting and xref's requested by markj (as noticed by bz)
  • Updated the date on the manpage as requested by bz (speculative date for now)
  • Changed ifdef / { matching as requested by bz
  • Changed net.link.lagg.default_use_numa init as requested by bz (i think)
  • Fixed printing of USE_NUMA flag in ifconfig, as noticed by me.
May 2 2019, 11:38 PM
gallatin added inline comments to D20060: Select lacp egress ports based on NUMA domain.
May 2 2019, 6:19 PM

May 1 2019

gallatin created D20134: Bind TCP HPTS (pacer) threads to NUMA domains.
May 1 2019, 11:09 PM
gallatin accepted D20117: Restructure mbuf send tags to provide stronger guarantees..
May 1 2019, 10:48 PM
gallatin added a comment to D20117: Restructure mbuf send tags to provide stronger guarantees..

I see you've done a bit of net80211 checking there; I think I'm going to use this change as motivation to speed up my desire to make rcvif manipulation a bit less insane and error prone.

May 1 2019, 4:05 PM
gallatin added a comment to D20117: Restructure mbuf send tags to provide stronger guarantees..
In D20117#433037, @ae wrote:

I'm sorry, I completely missed this change in the past. But it looks like it can break ipfw firewall rules, since rcvif is now union with snd_tag. And this means, rcvif can be initialized for packets that were not actually received on specified interface. ipfw uses rcvif in rules to check that a packet was received on specified interface, and this check was correct even for outgoing packets. Now it looks like such checks can be incorrect.

May 1 2019, 12:52 PM

Apr 30 2019

gallatin abandoned D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
Apr 30 2019, 11:51 PM
gallatin added a comment to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
In D20062#432787, @alc wrote:

I think that there is a better approach than what you are attempting here. Once you have the patch that you describe as "My patch to alter the behavior of SO_REUSEPORT_LB listen sockets ...", the thread executing sendfile(2) will be running on the same domain as the socket. Recall Kostik's first comment, "Vm objects can have domain policies assigned, and object policy trumps a thread policy, if present." In other words, if you don't define an object policy, the page allocations will be governed by the thread's policy. A thread policy that says allocate from the local domain should achieve your desired outcome.

Apr 30 2019, 11:42 PM
gallatin added a comment to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
In D20062#432560, @kib wrote:

I still do not quite understand the benefits of this change.

Apr 30 2019, 1:19 PM

Apr 29 2019

gallatin updated the diff for D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.

As alc pointed out (and as I've confirmed), the vm_object will linger with the domain policy set, causing an increase in cross domain traffic for our workload. I've restored the feature from the older patch where we override the current domain policy. This reduces cross domain traffic to previous levels.

Apr 29 2019, 11:25 PM
gallatin added inline comments to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
Apr 29 2019, 7:02 PM
gallatin added inline comments to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
Apr 29 2019, 5:08 PM
gallatin added a comment to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.

I'm going to have to re-test with this

Apr 29 2019, 3:48 PM
gallatin updated the diff for D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.

Address comments by markj and kib

  • add a comment explaining what is happening
    • only replace domain policy when it is NULL
    • re-check policy after acquiring object lock
Apr 29 2019, 3:47 PM
gallatin added inline comments to D20080: Convert all IPv4 and IPv6 multicast memberships into using a STAILQ() instead of an array.
Apr 29 2019, 3:07 PM
gallatin updated the summary of D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
Apr 29 2019, 2:44 PM

Apr 26 2019

gallatin added inline comments to D20060: Select lacp egress ports based on NUMA domain.
Apr 26 2019, 9:30 PM
gallatin updated the diff for D20060: Select lacp egress ports based on NUMA domain.

Fix off-by-one error pointed out by hselasky

Apr 26 2019, 9:29 PM
gallatin added a comment to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
In D20062#431501, @kib wrote:

IMO it is too special-purpose, and potentially affecting other loads.

Vm objects can have domain policies assigned, and object policy trumps a thread policy, if present. I would prefer that we added infrastructure to assign policy to the file' vm_object, e.g. using some new ioctl on file descriptor, and userspace did the job of explicitly stating the desired policy.

Apr 26 2019, 5:53 PM
gallatin updated the diff for D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.

I've updated the patch to remove my hand-plumbed path down to vm_page_alloc_domain_after(), and changed to setting the domain policy on the object.

Apr 26 2019, 5:49 PM
gallatin added inline comments to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
Apr 26 2019, 2:52 PM
gallatin added a comment to D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
In D20062#431501, @kib wrote:

IMO it is too special-purpose, and potentially affecting other loads.

Vm objects can have domain policies assigned, and object policy trumps a thread policy, if present. I would prefer that we added infrastructure to assign policy to the file' vm_object, e.g. using some new ioctl on file descriptor, and userspace did the job of explicitly stating the desired policy.

Apr 26 2019, 2:15 PM
gallatin updated the diff for D20060: Select lacp egress ports based on NUMA domain.

Fix style issues pointed out by markj in the ifconfig man page change, and add cross-references to the numa(4) man page, as he suggests.

Apr 26 2019, 1:58 PM

Apr 25 2019

gallatin added a reviewer for D20060: Select lacp egress ports based on NUMA domain: bz.
Apr 25 2019, 11:15 PM
gallatin created D20062: sendfile: allocate pages from the local NUMA domain when SF_NOCACHE is set.
Apr 25 2019, 11:14 PM
gallatin created D20060: Select lacp egress ports based on NUMA domain.
Apr 25 2019, 9:07 PM
gallatin closed D20028: Track TCP connection's NUMA domain in the inpcb.
Apr 25 2019, 3:37 PM
gallatin committed rS346677: Track TCP connection's NUMA domain in the inpcb.
Track TCP connection's NUMA domain in the inpcb
Apr 25 2019, 3:37 PM

Apr 24 2019

gallatin committed rS346632: iflib: Add pfil hooks.
iflib: Add pfil hooks
Apr 24 2019, 1:32 PM
gallatin closed D19645: add pfil hooks to iflib.
Apr 24 2019, 1:32 PM

Apr 23 2019

gallatin created D20028: Track TCP connection's NUMA domain in the inpcb.
Apr 23 2019, 5:10 PM

Apr 22 2019

gallatin closed D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.
Apr 22 2019, 7:24 PM
gallatin committed rS346579: Track device's NUMA domain in ifnet & alloc ifnet from NUMA local memory.
Track device's NUMA domain in ifnet & alloc ifnet from NUMA local memory
Apr 22 2019, 7:24 PM
gallatin added a comment to D19645: add pfil hooks to iflib.

shurd: I have been waiting for you to test with bnxt & jumbo frames, but I think this is approaching a reasonable timeout (almost 2 weeks since the last feedback). I plan to commit in the next day or so unless I hear from you.

Apr 22 2019, 12:50 PM

Apr 18 2019

gallatin updated the diff for D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.

Removed redundant parens around bus_get_domain() call as pointed out by markj

Apr 18 2019, 3:18 PM
gallatin added a reviewer for D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory: scottl.
Apr 18 2019, 12:43 PM

Apr 17 2019

gallatin added inline comments to D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.
Apr 17 2019, 5:54 PM
gallatin updated the diff for D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.

Address kib's feedback

  • remove unneeded _domainset.h include
  • re-write if_alloc_dev() to be more concise
Apr 17 2019, 5:53 PM
gallatin updated the diff for D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.
  • Added if_alloc_dev() and changed example mlx5en and cxgbe code to use them, as suggested by kib.
  • Added links to if_alloc_domain and if_alloc_dev for man pages
  • Fixed style issues pointed out by kib
Apr 17 2019, 3:34 PM
gallatin added a comment to D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.
In D19930#428329, @kib wrote:

I wonder if a KPI of the format

struct ifnet *if_alloc_dev(u_char type, dev_t device);

would be more useful. It would hide all NUMA/non-NUMA/bus_get_domain() failed details that driver authors will copy/paste ad infinitum.

I do not propose to not add if_alloc_domain(), just think that if_alloc_dev() should be the primari KPI. Also it might allow to get more device_t context in if_alloc().

Apr 17 2019, 12:21 PM
gallatin added a reviewer for D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory: glebius.
Apr 17 2019, 12:09 AM
gallatin created D19930: Track device's NUMA domain in ifnet & allocate ifnet from NUMA local memory.
Apr 17 2019, 12:09 AM

Apr 16 2019

gallatin closed D19862: replace cosqos field in pkthdr with a numa domain tag.
Apr 16 2019, 4:49 PM
gallatin committed rS346281: Replace cosqos with numa_domain in mbuf pkthdr.
Replace cosqos with numa_domain in mbuf pkthdr
Apr 16 2019, 4:49 PM

Apr 15 2019

gallatin committed rS346247: mlx5en: Enable new pfil(9) KPI ethernet filtering hooks.
mlx5en: Enable new pfil(9) KPI ethernet filtering hooks
Apr 15 2019, 5:15 PM
gallatin closed D19063: mlx5en: add pfil ethernet hook.
Apr 15 2019, 5:15 PM

Apr 9 2019

gallatin updated the summary of D19862: replace cosqos field in pkthdr with a numa domain tag.
Apr 9 2019, 3:46 PM
gallatin created D19862: replace cosqos field in pkthdr with a numa domain tag.
Apr 9 2019, 3:43 PM

Mar 28 2019

gallatin added inline comments to D19645: add pfil hooks to iflib.
Mar 28 2019, 2:26 PM
gallatin updated the diff for D19645: add pfil hooks to iflib.

Address review feedback from marius & shurd

Mar 28 2019, 2:26 PM

Mar 27 2019

gallatin accepted D19719: Use a dedicated malloc type for lagg(4)'s structures..

YES! Death to M_DEVBUF!

Mar 27 2019, 1:15 PM
gallatin accepted D19718: Remove nested epochs from lagg(4)..
Mar 27 2019, 1:14 PM

Mar 19 2019

gallatin updated the diff for D19645: add pfil hooks to iflib.

Fixed comments, as pointed out by ejg

Mar 19 2019, 6:27 PM
gallatin created D19645: add pfil hooks to iflib.
Mar 19 2019, 2:56 PM

Mar 18 2019

gallatin committed rS345273: Fix a typo introduced in r344133.
Fix a typo introduced in r344133
Mar 18 2019, 12:42 PM

Mar 16 2019

gallatin accepted D19577: iflib: mark isc_driver_version as constant.
Mar 16 2019, 10:20 PM

Mar 14 2019

gallatin accepted D19468: iflib: prevent possible infinite loop in iflib_encap.
Mar 14 2019, 5:56 PM

Mar 13 2019

gallatin accepted D19468: iflib: prevent possible infinite loop in iflib_encap.

I think this is a mostly theoretical issue, as you'll have had a chain which was impossible to send (eg, far too large, etc) even after defrag.

Mar 13 2019, 6:42 PM

Mar 10 2019

gallatin updated the diff for D19063: mlx5en: add pfil ethernet hook.
  • Use new pfil_mem2mbuf() to avoid unaligned access of mbuf pointer
  • Remove unneeded breaks
Mar 10 2019, 6:21 PM

Feb 25 2019

gallatin accepted D19315: Dynamically allocate per-cpu scheduler state.

Much cleaner, as usual, than the hack I gave you to start with.

Feb 25 2019, 4:48 PM

Feb 21 2019

gallatin updated the diff for D19063: mlx5en: add pfil ethernet hook.

Guard against null pfil at device detach by deregistering pfil hook later. While here, check for a null pfil hook and cache it in a local to make the code easier to read.

Feb 21 2019, 5:40 PM

Feb 15 2019

gallatin accepted D19201: iflib: Return the correct filter result in the interrupt handler..
Feb 15 2019, 12:52 PM

Feb 14 2019

gallatin added a comment to D19201: iflib: Return the correct filter result in the interrupt handler..

I understand the missing FILTER_STRAY.

Feb 14 2019, 8:21 PM

Feb 8 2019

gallatin updated the diff for D19063: mlx5en: add pfil ethernet hook.

Updated to truncate the length passed to pfil for multi-segment jumbo frames to just the length of the first segment.

Feb 8 2019, 3:13 PM

Feb 7 2019

gallatin added a comment to D19063: mlx5en: add pfil ethernet hook.

Any high performance interface will look similar to this and be similarly invasive.

Feb 7 2019, 9:27 PM
gallatin added a comment to D19063: mlx5en: add pfil ethernet hook.

The reason to have this in the driver is for performance. The plan for pfil is to eventually just use a pointer to a memory blob for filtering. The current fake mbuf stuff is a step in that direction.

Feb 7 2019, 6:35 PM

Feb 6 2019

gallatin added inline comments to D19063: mlx5en: add pfil ethernet hook.
Feb 6 2019, 3:58 PM
gallatin updated the diff for D19063: mlx5en: add pfil ethernet hook.
  • moved rv declaration to top of function
  • entered CURVNET to prevent panic from null curvnet when VIMAGE is compiled in Note placing this at the top of the rx function is a trade off between tiny overhead in the common case (nothing hooked) and a bit larger overhead in the case when something is hooked, and entering/restoring the VNET each time we call into the filter.
  • Addressed all possible return values from pfil_run_hooks Note that PFIL_REALLOCED was tested by hacking pfil.c to copy packets
  • Added a label to jump to when PFIL_REALLOCED is returned, and we need to send up an mbuf allocated by the filter.
Feb 6 2019, 3:56 PM

Feb 2 2019

gallatin created D19063: mlx5en: add pfil ethernet hook.
Feb 2 2019, 3:29 PM

Jan 31 2019

gallatin accepted D19040: Don't set IFCAP_TXRTLMT during lagg_clone_create()..
Jan 31 2019, 12:15 AM

Jan 28 2019

gallatin committed rS343526: MFC r343430.
MFC r343430
Jan 28 2019, 2:35 PM