Page MenuHomeFreeBSD

mmacy (Matthew Macy)
User

Projects

User Details

User Since
May 4 2018, 7:26 PM (108 w, 4 d)

Recent Activity

Sun, May 31

mmacy requested review of D25083: iflib: fix cloneattach fail and generalize pseudo device handling .
Sun, May 31, 6:49 PM
mmacy committed rS361665: Fix panics when using iflib pseudo device support.
Fix panics when using iflib pseudo device support
Sun, May 31, 6:42 PM
mmacy abandoned D15983: convert EBR like barrier to epoch(9).
Sun, May 31, 6:34 PM
mmacy abandoned D20563: implement arc_prune_task for FreeBSD, enable balanced pruning over 4G.
Sun, May 31, 6:33 PM
mmacy abandoned D24360: MFC UMA stats sysctl changes.
Sun, May 31, 6:33 PM

Wed, May 27

mmacy added a comment to D24733: teach ena driver about RSS kernel option.

Sigh - this is why when I added the flowid we didn't set the hash for TCP - we relied on the result from the hardware ...

That's like 80% of the problem, the other 20% was getting the pcb into the right group early on and not have to go move it between the RSS buckets.

The flowid stuff is separate from RSS per se. If you use flowid without the microsoft style RSS with the per-CPU work distribution then yeah, you don't need the software hashing. But if you want to have it partition up the work early that also includes putting the pcb into the right RSS hashed pcbgroup, and that requires a software hash.

It's only done, like, once..

Wed, May 27, 5:37 AM
mmacy added a comment to D23710: Fix panics when using iflib pseudo device support.

I have further changes.

Wed, May 27, 12:01 AM

Tue, May 26

mmacy added a comment to D24733: teach ena driver about RSS kernel option.

Sigh - this is why when I added the flowid we didn't set the hash for TCP - we relied on the result from the hardware ...

Tue, May 26, 11:56 PM

Mon, May 18

mmacy added a comment to D24867: Remove refcounting from rtentry..

YAY

Mon, May 18, 1:56 AM

Thu, May 14

mmacy accepted D24829: jail: Add exec.prepare and exec.release command hooks.
Thu, May 14, 11:32 PM

Apr 26 2020

mmacy accepted D24413: sockstat: Attach to jail if in new vnet.

LGTM

Apr 26 2020, 8:34 PM

Apr 15 2020

mmacy added a comment to D24408: ZFS should depend on XDR, not full RPC.

I can for the very near future, but as we get closer to replacing what’s in HEAD the burden should shift to the individual contributor to interact directly with upstream.

Apr 15 2020, 2:40 AM

Apr 14 2020

mmacy added a comment to D24408: ZFS should depend on XDR, not full RPC.

I don't see anything wrong with this review, but FYI there is now a live upstream https://github.com/openzfs/zfs/commit/9f0a21e6411aa0bac23fba0ddb220342a48c7cc7 and the code in HEAD will some time later this year be replaced with vendor code. Most of the changes to ZFS in HEAD at this point will only live on through MFCs to stable/12 and stable/11.

Apr 14 2020, 9:54 PM
mmacy updated subscribers of D24408: ZFS should depend on XDR, not full RPC.
Apr 14 2020, 9:54 PM

Apr 10 2020

mmacy created D24360: MFC UMA stats sysctl changes.
Apr 10 2020, 2:58 AM

Apr 3 2020

mmacy committed rS359622: Update x86 counters.
Update x86 counters
Apr 3 2020, 10:52 PM

Mar 23 2020

mmacy abandoned D19886: Fix numerous refcount bugs in multicast ....
Mar 23 2020, 9:58 PM

Mar 12 2020

mmacy committed rS358921: Fix sample check in hwpmc.
Fix sample check in hwpmc
Mar 12 2020, 8:59 PM

Feb 28 2020

mmacy accepted D23848: Reduce object locking in zfs..
Feb 28 2020, 7:06 PM

Feb 16 2020

mmacy updated the diff for D23710: Fix panics when using iflib pseudo device support.
Feb 16 2020, 10:41 PM
mmacy created D23710: Fix panics when using iflib pseudo device support.
Feb 16 2020, 2:02 AM
mmacy committed rS357987: Add zfree to zero allocation before free.
Add zfree to zero allocation before free
Feb 16 2020, 12:13 AM
mmacy closed D22790: add zfree to zero allocation before free.
Feb 16 2020, 12:13 AM
mmacy committed rS357986: Add chacha20poly1305 support to crypto build.
Add chacha20poly1305 support to crypto build
Feb 16 2020, 12:03 AM
mmacy closed D23689: add chachapoly to kernel.
Feb 16 2020, 12:03 AM

Feb 14 2020

mmacy created D23689: add chachapoly to kernel.
Feb 14 2020, 6:58 PM

Jan 20 2020

mmacy added a comment to D15010: add white listing for ZFS locking pairs that WITNESS can't report accurately and enable WITNESS by default in ZFS.
In D15010#468020, @mjg wrote:

Is this getting anywhere?

Jan 20 2020, 8:32 PM

Dec 13 2019

mmacy created D22790: add zfree to zero allocation before free.
Dec 13 2019, 12:05 AM

Dec 8 2019

mmacy committed rS355520: MFC r351770,r352920-r352923.
MFC r351770,r352920-r352923
Dec 8 2019, 4:19 AM

Dec 2 2019

mmacy accepted D22586: Implement safe memory reclamation in UMA..
Dec 2 2019, 8:33 PM

Nov 28 2019

mmacy added a comment to D22597: Use a callout instead of timeout(9) for delayed zio's..

Just to chime in with what @mav said. Once FreeBSD is merged with the soon to be OpenZFS repo, the missing features (rename -u, FreeBSD's ashift mechanism, etc) have been upstreamed and the port has been given a few months to soak - the current code in tree - based as it is on a near dead upstream - is going away.

Nov 28 2019, 11:46 PM

Nov 22 2019

mmacy accepted D22504: Add explicit SI_SUB_EPOCH.

LGTM

Nov 22 2019, 11:11 PM

Nov 1 2019

mmacy accepted D21573: Hwpmc log file is not cleaned after profile session is completed.
Nov 1 2019, 9:42 PM

Oct 13 2019

mmacy committed rS353483: Fix sample check in hwpmc.
Fix sample check in hwpmc
Oct 13 2019, 10:27 PM

Sep 30 2019

mmacy committed rS352923: Add iflag=fullblock to dd.
Add iflag=fullblock to dd
Sep 30 2019, 10:01 PM
mmacy closed D21441: Add iflag=fullblock to dd.
Sep 30 2019, 10:01 PM
mmacy accepted D21441: Add iflag=fullblock to dd.
Sep 30 2019, 9:58 PM
mmacy committed rS352922: Add oflag=fsync and oflag=sync capability to dd.
Add oflag=fsync and oflag=sync capability to dd
Sep 30 2019, 9:56 PM
mmacy closed D21422: Add oflag=fsync and oflag=sync capability to dd.
Sep 30 2019, 9:56 PM
mmacy accepted D21422: Add oflag=fsync and oflag=sync capability to dd.
Sep 30 2019, 9:54 PM
mmacy committed rS352921: dd: Check result of close(2) for errors.
dd: Check result of close(2) for errors
Sep 30 2019, 9:53 PM
mmacy closed D21376: dd: Check result of close(2) for errors.
Sep 30 2019, 9:53 PM
mmacy accepted D21376: dd: Check result of close(2) for errors.
Sep 30 2019, 9:52 PM
mmacy committed rS352920: Add conv=fdatasync flag to dd.
Add conv=fdatasync flag to dd
Sep 30 2019, 9:48 PM
mmacy closed D21373: Add conv=fdatasync flag to dd.
Sep 30 2019, 9:48 PM
mmacy accepted D21373: Add conv=fdatasync flag to dd.
Sep 30 2019, 9:43 PM

Sep 13 2019

mmacy added a comment to D21360: pmc: revert r339188.

Sorry, I'll take a look at the drop logic / buffer size

Sep 13 2019, 5:40 PM

Sep 3 2019

mmacy committed rS351771: Use makefs -t msdos in make_esp_file.
Use makefs -t msdos in make_esp_file
Sep 3 2019, 6:38 PM
mmacy closed D21385: Use makefs -t msdos in make_esp_file.
Sep 3 2019, 6:38 PM
mmacy committed rS351770: Add conv=fsync flag to dd.
Add conv=fsync flag to dd
Sep 3 2019, 6:36 PM

Aug 21 2019

mmacy abandoned D16158: allocate pcpu and dpcpu from correct domain.
Aug 21 2019, 11:30 PM

Aug 15 2019

mmacy committed rS351104: pmc: restore "unhalted-cycles" alias.
pmc: restore "unhalted-cycles" alias
Aug 15 2019, 9:51 PM
mmacy committed rS351103: pmc: restore "unhalted-cycles" alias.
pmc: restore "unhalted-cycles" alias
Aug 15 2019, 9:39 PM

Jun 19 2019

mmacy committed rS349217: Tell loader to ignore newer features enabled on the root pool..
Tell loader to ignore newer features enabled on the root pool.
Jun 19 2019, 9:10 PM

Jun 9 2019

mmacy added inline comments to D20563: implement arc_prune_task for FreeBSD, enable balanced pruning over 4G.
Jun 9 2019, 4:24 AM
mmacy updated the diff for D20563: implement arc_prune_task for FreeBSD, enable balanced pruning over 4G.

fix mismerge

Jun 9 2019, 2:43 AM
mmacy created D20563: implement arc_prune_task for FreeBSD, enable balanced pruning over 4G.
Jun 9 2019, 2:40 AM

May 8 2019

mmacy added a comment to D19886: Fix numerous refcount bugs in multicast ....
In D19886#435308, @ae wrote:

So, what you think about this patch? It just restores the behavior that was in stable/11. I used this patch with head/ for two weeks and seems there is no regression.

May 8 2019, 11:35 PM
mmacy committed rS347357: Enable sys/disk.h consumers to avoid pulling in networking headers..
Enable sys/disk.h consumers to avoid pulling in networking headers.
May 8 2019, 6:10 PM

May 6 2019

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

@mmacy: The epoch_call() is not covered by epoch_wait_preempt(). We simply see deferred epoch calls being executed after the the IFP has been destroyed. Typically the multicast destroy ones.

May 6 2019, 6:49 PM

May 3 2019

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

@hselasky this is completely contrary to the intent of epoch - what callbacks are you seeing executed after a destroy?

May 3 2019, 10:23 PM
mmacy added a comment to D20109: Need to wait for epoch callbacks to complete before detaching network interface.

I feel like there's a better way to do this, but haven't come up with a solution yet.

May 3 2019, 10:20 PM
mmacy committed rS347057: Allow iflib drivers to pass a pointer to their own ifmedia structure..
Allow iflib drivers to pass a pointer to their own ifmedia structure.
May 3 2019, 8:05 PM
mmacy closed D19946: allow iflib drivers to pass their own ifmedia.
May 3 2019, 8:05 PM

Apr 30 2019

mmacy added a comment to D19886: Fix numerous refcount bugs in multicast ....
In D19886#432900, @ryan_freqlabs.com wrote:

before running tests:

ether_multi    17     2K       -       17  16,32,64,128
   in_multi     2     1K       -        2  256
  in6_multi    15     2K       -       15  32,256

after:

ether_multi 32839  2449K       -    40807  16,32,64,128
   in_multi     2     1K       -     3538  256
  in6_multi  9270  2316K       -    18525  32,256
Apr 30 2019, 8:42 PM

Apr 29 2019

mmacy updated subscribers of D19886: Fix numerous refcount bugs in multicast ....
Apr 29 2019, 7:44 PM
mmacy updated the diff for D19946: allow iflib drivers to pass their own ifmedia.

sigh

Apr 29 2019, 7:34 PM
mmacy updated the diff for D19946: allow iflib drivers to pass their own ifmedia.

use right patch

Apr 29 2019, 7:31 PM
mmacy updated the diff for D19946: allow iflib drivers to pass their own ifmedia.
  • initialize media pointer for non miibus drivers
  • add flag for miibus drivers to set pass own media
Apr 29 2019, 7:21 PM
mmacy updated the summary of D19886: Fix numerous refcount bugs in multicast ....
Apr 29 2019, 7:06 PM
mmacy added a comment to D19886: Fix numerous refcount bugs in multicast ....
In D19886#431573, @pho wrote:
20190426 12:09:07 all (1/1): multicast2.sh
Apr 26 12:09:09 t2 mDNSResponder[14951]: mDNSResponder (Engineering Build) (Jan  5 2019 05:09:39) starting
Apr 26 12:09:09 t2 mDNSResponder[14951]: mDNS_AddDNSServer: Lock not held! mDNS_busy (0) mDNS_reentrancy (0)
panic: Assertion ifma->ifma_ifp == NULL || ifma->ifma_ifp == ifp failed at ../../../net/if.c:3777
cpuid = 8
time = 1556273349
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00004ec870
vpanic() at vpanic+0x19d/frame 0xfffffe00004ec8c0
panic() at panic+0x43/frame 0xfffffe00004ec920
if_delmulti_locked() at if_delmulti_locked+0x1e7/frame 0xfffffe00004ec940
if_delmulti_ifma_flags() at if_delmulti_ifma_flags+0xbb/frame 0xfffffe00004ec990
inm_release_task() at inm_release_task+0x1ac/frame 0xfffffe00004ec9f0
gtaskqueue_run_locked() at gtaskqueue_run_locked+0xf9/frame 0xfffffe00004eca40
gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0x88/frame 0xfffffe00004eca70
fork_exit() at fork_exit+0x84/frame 0xfffffe00004ecab0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00004ecab0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---

Details @ https://people.freebsd.org/~pho/stress/log/mmacy035.txt

Apr 29 2019, 6:36 PM

Apr 26 2019

mmacy updated the summary of D19886: Fix numerous refcount bugs in multicast ....
Apr 26 2019, 12:28 AM
mmacy updated the summary of D19886: Fix numerous refcount bugs in multicast ....
Apr 26 2019, 12:14 AM

Apr 25 2019

mmacy updated the summary of D19886: Fix numerous refcount bugs in multicast ....
Apr 25 2019, 11:57 PM
mmacy retitled D19886: Fix numerous refcount bugs in multicast ... from Fix refcount issue in in_getmulti to Fix numerous refcount bugs in multicast ....
Apr 25 2019, 11:50 PM
mmacy updated the diff for D19886: Fix numerous refcount bugs in multicast ....

Fix at least a half dozen different issues exposed by the test case in the summary.

Apr 25 2019, 11:49 PM

Apr 24 2019

mmacy updated the summary of D19886: Fix numerous refcount bugs in multicast ....
Apr 24 2019, 1:02 AM
mmacy updated the summary of D19886: Fix numerous refcount bugs in multicast ....
Apr 24 2019, 12:09 AM

Apr 17 2019

mmacy added a comment to D19946: allow iflib drivers to pass their own ifmedia.

Makes sense ... you mean call the ifdi_init method directly? If so, it looks like init_locked does a bunch of queue/iflib management ... is all of that unnecessary on reset?

Apr 17 2019, 11:20 PM
mmacy added a comment to D19946: allow iflib drivers to pass their own ifmedia.

the custom media would have to call the wrappers, especially if restart is necessary

Apr 17 2019, 10:43 PM
mmacy added a comment to D19946: allow iflib drivers to pass their own ifmedia.

As is, the patch works.

I would still suggest exposing the iflib_media_* because init_locked is unavailable in the case of reset and I think the locks in the wrapper are useful?

Apr 17 2019, 10:42 PM
mmacy added a comment to D19946: allow iflib drivers to pass their own ifmedia.

@aryeeteygerald_rogers.com can you test with this patch and let me know? It should be a no-op for current drivers so can probably go in quickly.

Apr 17 2019, 9:30 PM
mmacy updated the diff for D19946: allow iflib drivers to pass their own ifmedia.

don't call ifmedia_init for user provided ifmedia

Apr 17 2019, 9:29 PM
mmacy added a comment to D19946: allow iflib drivers to pass their own ifmedia.

I can just skip the iflib_media_init if we can just trust that the phy is correctly inited. Those two routines are just wrappers to drive user callbacks:

static int
iflib_media_change(if_t ifp)
{
	if_ctx_t ctx = if_getsoftc(ifp);
	int err;
Apr 17 2019, 9:13 PM
mmacy updated the diff for D19946: allow iflib drivers to pass their own ifmedia.

missed change

Apr 17 2019, 8:36 PM
mmacy created D19946: allow iflib drivers to pass their own ifmedia.
Apr 17 2019, 8:31 PM
mmacy added a comment to D19622: Fix panic in network stack due memory use after free in relation to fragmented packets.

So in a Previous Project a Long Long Time Ago we solved this by having the receive/send state being an ifindex into an array of "ifnet" pointers, and a gencount so you can see if it's stale. Then all the code had to handle that the interface ifindex was stale (ie, a NULL pointer versus a garbage pointer) and decide at each point how to make forward progress. In some cases it wasn't needed for forward progress - eg it was already on a transmit queue, so the fact the receive interface went away wasn't a huge deal. But sometimes it was - eg tunnel (l2tp in one case) went away.

I agree this isn't the best solution, but it beats the heck out of panicking. It's panicing because SOME (interesting) state is being dereferenced through rcvif at some very late stage point in the stack. Maybe finding/tidying those up would also help things but this at least gets the panic out of the way.

Apr 17 2019, 6:51 PM

Apr 16 2019

mmacy added a comment to D19622: Fix panic in network stack due memory use after free in relation to fragmented packets.

So without delving in to the specifics of this issue I'd like to point out a couple of things:

  • When an interface is taken down, freeing all unprocessed inbound and outbound is standard protocol as we have no idea how long the device will be down for, if it's more than 500ms the packets are good as dead
  • inbound mbufs have a non refcounted pointer to their ifp - this would be easy to fix, but extremely invasive
Apr 16 2019, 8:48 PM
mmacy added inline comments to D19886: Fix numerous refcount bugs in multicast ....
Apr 16 2019, 3:48 AM
mmacy added inline comments to D19886: Fix numerous refcount bugs in multicast ....
Apr 16 2019, 3:29 AM

Apr 15 2019

mmacy added a comment to D19886: Fix numerous refcount bugs in multicast ....
if ((error = in6_joingroup(ifp, &in6, NULL, &in6m, 0)) != 0) {
        in6_leavegroup(im6o->im6o_membership[0], NULL);
        free(im6o->im6o_membership, M_CARP);
        break;
}
in6m_acquire(in6m);
Apr 15 2019, 6:01 PM

Apr 13 2019

mmacy added a comment to D17933: add NUMA support to powerpc.

Cool. +1

Apr 13 2019, 7:55 PM

Apr 11 2019

mmacy updated the diff for D19886: Fix numerous refcount bugs in multicast ....
  • fix case where failure path could lead to ref leak
Apr 11 2019, 11:46 PM
mmacy created D19886: Fix numerous refcount bugs in multicast ....
Apr 11 2019, 11:43 PM

Mar 24 2019

mmacy abandoned D18520: Update opencrypto for ZFS crypto.

All changes have gone in and been MFC’d through smaller reviews.

Mar 24 2019, 7:22 PM

Mar 20 2019

mmacy committed rS345328: MFC r342747 - zfsboot: support newer ZFS versions.
MFC r342747 - zfsboot: support newer ZFS versions
Mar 20 2019, 3:37 PM
mmacy committed rS345327: MFC r342793 - selectively disable ZFS without disabling loader.
MFC r342793 - selectively disable ZFS without disabling loader
Mar 20 2019, 3:34 PM

Mar 15 2019

mmacy committed rS345169: bump version to reflect MFC of CCM for the benefit of the ZoF port.
bump version to reflect MFC of CCM for the benefit of the ZoF port
Mar 15 2019, 1:26 AM

Mar 9 2019

mmacy added a comment to D19516: powerpc64: Implement Radix MMU for POWER9 CPUs.

FWIW ZFS works fine on the POWER9 branch. However, there are a few things needed to make it play nice with HPT. Have you tracked them down?

Mar 9 2019, 4:47 AM

Mar 7 2019

mmacy committed rS344869: add GPL text in addition to SPDX tags as requested by core.
add GPL text in addition to SPDX tags as requested by core
Mar 7 2019, 3:54 AM