Page MenuHomeFreeBSD

mmacy (Matthew Macy)
User

Projects

User Details

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

Recent Activity

Sun, Jun 9

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

fix mismerge

Sun, Jun 9, 2:43 AM
mmacy created D20563: implement arc_prune_task for FreeBSD, enable balanced pruning over 4G.
Sun, Jun 9, 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 ....

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
mmacy committed rS344868: add gcov to LINT build.
add gcov to LINT build
Mar 7 2019, 3:50 AM
mmacy committed rS344867: Add build time GPL warning when GCOV is enabled.
Add build time GPL warning when GCOV is enabled
Mar 7 2019, 3:47 AM

Feb 23 2019

mmacy committed rS344487: gcov support.
gcov support
Feb 23 2019, 9:14 PM
mmacy closed D19260: gcov support.
Feb 23 2019, 9:14 PM
mmacy committed rS344486: Change seq_read to seq_load to avoid namespace conflicts with lkpi.
Change seq_read to seq_load to avoid namespace conflicts with lkpi
Feb 23 2019, 9:05 PM
mmacy committed rS344485: import linux debugfs support.
import linux debugfs support
Feb 23 2019, 8:56 PM
mmacy closed D19258: import linux debugfs support.
Feb 23 2019, 8:56 PM
mmacy committed rS344484: linux/fs: simplify interop and correct definition of loff_t.
linux/fs: simplify interop and correct definition of loff_t
Feb 23 2019, 8:46 PM
mmacy closed D19274: simplify interop with file_operations.
Feb 23 2019, 8:46 PM

Feb 22 2019

mmacy committed rS344478: lkpi: allow late binding of linux_alloc_current.
lkpi: allow late binding of linux_alloc_current
Feb 22 2019, 11:15 PM
mmacy closed D19257: allow late binding of linux_alloc_current.
Feb 22 2019, 11:15 PM
mmacy updated the diff for D19274: simplify interop with file_operations.
  • update to fix LINT
Feb 22 2019, 11:06 PM
mmacy added a comment to D19274: simplify interop with file_operations.

If you grep for llseek you'll see it is used a couple of places in sys/ofed .

Feb 22 2019, 10:11 PM
mmacy added a comment to D19274: simplify interop with file_operations.

@hselasky ping

Feb 22 2019, 9:15 PM
mmacy added a comment to D19257: allow late binding of linux_alloc_current.

@hselasky ping

Feb 22 2019, 9:14 PM

Feb 20 2019

mmacy created D19274: simplify interop with file_operations.
Feb 20 2019, 10:45 PM
mmacy updated the diff for D19258: import linux debugfs support.
  • incorporate feedback printing file/line on failure
Feb 20 2019, 9:31 PM
mmacy updated the diff for D19257: allow late binding of linux_alloc_current.
  • incorporate feedback
Feb 20 2019, 9:10 PM
mmacy committed rS344385: PFS: Bump NAMELEN and don't require clients to be sleepable.
PFS: Bump NAMELEN and don't require clients to be sleepable
Feb 20 2019, 8:55 PM
mmacy closed D19256: PFS: Bump NAMELEN and don't require clients to be sleepable.
Feb 20 2019, 8:55 PM
mmacy committed rS344384: Add non-sleepable strdup variant strdup_flags.
Add non-sleepable strdup variant strdup_flags
Feb 20 2019, 8:48 PM
mmacy closed D19259: make _flags variant of strdup.
Feb 20 2019, 8:48 PM

Feb 19 2019

mmacy added inline comments to D19260: gcov support.
Feb 19 2019, 11:54 PM
mmacy added inline comments to D19260: gcov support.
Feb 19 2019, 11:40 PM
mmacy added inline comments to D19260: gcov support.
Feb 19 2019, 11:39 PM
mmacy added a reviewer for D19260: gcov support: ngie.
Feb 19 2019, 11:31 PM
mmacy added reviewers for D19260: gcov support: bdrewery, lwhsu.
Feb 19 2019, 11:01 PM
mmacy updated the summary of D19256: PFS: Bump NAMELEN and don't require clients to be sleepable.
Feb 19 2019, 10:57 PM
mmacy updated the summary of D19256: PFS: Bump NAMELEN and don't require clients to be sleepable.
Feb 19 2019, 10:56 PM
mmacy updated the summary of D19258: import linux debugfs support.
Feb 19 2019, 10:55 PM
mmacy added a reviewer for D19260: gcov support: hselasky.
Feb 19 2019, 10:54 PM
mmacy created D19260: gcov support.
Feb 19 2019, 10:54 PM
mmacy created D19259: make _flags variant of strdup.
Feb 19 2019, 10:52 PM
mmacy created D19258: import linux debugfs support.
Feb 19 2019, 10:49 PM
mmacy created D19257: allow late binding of linux_alloc_current.
Feb 19 2019, 10:47 PM
mmacy created D19256: PFS: Bump NAMELEN and don't require clients to be sleepable.
Feb 19 2019, 10:45 PM

Feb 5 2019

mmacy committed rS343758: Fix deterministic builds by sorting input to fts in jevents.
Fix deterministic builds by sorting input to fts in jevents
Feb 5 2019, 12:31 AM

Jan 9 2019

mmacy accepted D18753: Fix getsockopt(..., IPPROTO_IP, IP_OPTIONS, ..., ...).
Jan 9 2019, 3:48 AM

Jan 5 2019

mmacy committed rS342793: MK_ZFS -> {MK_ZFS|MK_LOADER_ZFS}, this is so we can diable userland / kernel.
MK_ZFS -> {MK_ZFS|MK_LOADER_ZFS}, this is so we can diable userland / kernel
Jan 5 2019, 10:45 PM
mmacy closed D18739: add separate knob for zfs support in bootloader .
Jan 5 2019, 10:45 PM

Jan 4 2019

mmacy added a comment to D14599: Implement kernel code coverage (kcov).

The interfaces are similar but not identical - for example I chose to expose the number of buffer items as an ioctl rather than at the beginning of the buffer as they do in the Linux patch. Conveniently, it is not required that they match exactly as syzkaller has specific executor code per OS which we can adjust to fit this one.

Jan 4 2019, 11:58 PM

Jan 3 2019

mmacy committed rS342749: mp_ring: avoid items offset difference between iflib and mp_ring.
mp_ring: avoid items offset difference between iflib and mp_ring
Jan 3 2019, 11:06 PM
mmacy updated the diff for D18739: add separate knob for zfs support in bootloader .
  • update build knob docs
Jan 3 2019, 10:55 PM
mmacy committed rS342747: zfsboot: support newer ZFS versions.
zfsboot: support newer ZFS versions
Jan 3 2019, 10:49 PM
mmacy updated the diff for D18739: add separate knob for zfs support in bootloader .
  • MK_ZFSBOOT -> MK_LOADER_ZFS
Jan 3 2019, 10:06 PM
mmacy created D18739: add separate knob for zfs support in bootloader .
Jan 3 2019, 9:45 PM

Dec 14 2018

mmacy updated the diff for D18520: Update opencrypto for ZFS crypto.

fix build

Dec 14 2018, 1:53 AM

Dec 13 2018

mmacy updated the diff for D18520: Update opencrypto for ZFS crypto.

replace GMAC_DIGEST_LEN with CCM_CBC_MAX_DIGEST_LEN

Dec 13 2018, 5:41 AM
mmacy added a comment to D18520: Update opencrypto for ZFS crypto.

I think I've incorporated all feedback but the MAC len name change.

Dec 13 2018, 5:35 AM
mmacy updated the diff for D18520: Update opencrypto for ZFS crypto.
  • incorporate two missing bits of feedback
Dec 13 2018, 5:34 AM
mmacy added inline comments to D18520: Update opencrypto for ZFS crypto.
Dec 13 2018, 5:26 AM
mmacy updated the diff for D18520: Update opencrypto for ZFS crypto.
  • rebase post D18522 commit
  • incorporate some of cem's feedback
Dec 13 2018, 5:26 AM
mmacy committed rS342024: Generalize AES iov optimization.
Generalize AES iov optimization
Dec 13 2018, 4:43 AM
mmacy closed D18522: AES iov optimization.
Dec 13 2018, 4:43 AM