markj (Mark Johnston)
User

Projects

User Details

User Since
Mar 12 2014, 1:00 AM (232 w, 6 h)

Recent Activity

Yesterday

markj committed rS338142: Set arc_kmem_cache_reap_retry_ms to 0 and make it configurable..
Set arc_kmem_cache_reap_retry_ms to 0 and make it configurable.
Tue, Aug 21, 4:37 PM
markj added a comment to D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..

I asked for comments from upstream here: http://lists.llvm.org/pipermail/llvm-dev/2018-August/125460.html

Tue, Aug 21, 2:40 PM
markj accepted D16825: Eliminate the unused arena parameter from kmem_malloc().
Tue, Aug 21, 1:42 PM

Mon, Aug 20

markj updated the diff for D16666: Add some accounting to the per-domain full bucket caches..

Fix INVARIANTS build.

Mon, Aug 20, 6:40 PM
markj added inline comments to D16667: Extend uma_reclaim() to permit different reclamation targets..
Mon, Aug 20, 4:17 PM
markj added inline comments to D16667: Extend uma_reclaim() to permit different reclamation targets..
Mon, Aug 20, 3:31 PM
markj updated the diff for D16667: Extend uma_reclaim() to permit different reclamation targets..
  • Trim UMA caches after shrinking the vnode cache.
Mon, Aug 20, 3:30 PM
markj added inline comments to D16667: Extend uma_reclaim() to permit different reclamation targets..
Mon, Aug 20, 3:22 PM
markj updated the diff for D16666: Add some accounting to the per-domain full bucket caches..
  • Add lock assertions.
  • Fix accounting in the case where we miss on the full bucket cache. Only bump imax after successfully refilling the per-CPU alloc cache.
Mon, Aug 20, 5:15 AM
markj added inline comments to D16667: Extend uma_reclaim() to permit different reclamation targets..
Mon, Aug 20, 5:08 AM

Sun, Aug 19

markj added a comment to D16688: Add a new Scripting section to the dtrace(1) man page..
In D16688#357541, @bcr wrote:

Bump the .Dd at the top of the file, then it's fine.
@markj , can you commit it? Thanks!

Sun, Aug 19, 10:13 PM
markj added a comment to D16798: sed: fix -i option behavior with 'q' command.

This seems reasonable to me. Would you be willing to add a regression test?

Sun, Aug 19, 3:43 PM
markj accepted D16799: Eliminate the unused arena parameter from kmem_alloc_contig().
Sun, Aug 19, 3:37 PM

Sat, Aug 18

markj accepted D16793: Eliminate the unused arena parameter from kmem_alloc_attr().
Sat, Aug 18, 7:57 PM

Fri, Aug 17

markj updated the diff for D16749: Modify the kernel linker to handle ifunc call site relocations..
  • Add elf_is_ifunc_reloc() for non-x86 platforms.
Fri, Aug 17, 10:13 PM
markj added inline comments to D16749: Modify the kernel linker to handle ifunc call site relocations..
Fri, Aug 17, 9:36 PM
markj added inline comments to D16749: Modify the kernel linker to handle ifunc call site relocations..
Fri, Aug 17, 9:10 PM
markj updated the diff for D16749: Modify the kernel linker to handle ifunc call site relocations..

Attempt to fix handling of ifunc relocations in kernel modules.

Fri, Aug 17, 9:08 PM
markj added inline comments to D16749: Modify the kernel linker to handle ifunc call site relocations..
Fri, Aug 17, 7:25 PM
markj added inline comments to D16749: Modify the kernel linker to handle ifunc call site relocations..
Fri, Aug 17, 5:44 PM
markj added inline comments to D16750: Enable -zifunc-noplt on i386 and amd64..
Fri, Aug 17, 5:30 PM
markj added a comment to D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
In D16748#356731, @dim wrote:

Oh sorry, I didn't realize that this is needed pretty quickly due to the slush, so then it is probably okay. I'd need some time to look at it and build it for testing, but for now I'll assume you've tested it and it works. :)

Fri, Aug 17, 4:28 PM
markj committed rS337977: Typo..
Typo.
Fri, Aug 17, 4:07 PM
markj committed rS337976: MFC r337230:.
MFC r337230:
Fri, Aug 17, 4:05 PM
markj committed rS337975: MFC r337328:.
MFC r337328:
Fri, Aug 17, 4:04 PM
markj committed rS337974: Add INVARIANTS-only fences around lockless vnode refcount updates..
Add INVARIANTS-only fences around lockless vnode refcount updates.
Fri, Aug 17, 3:41 PM
markj closed D16756: Add INVARIANTS-only fences to synchronize lockless refcount updates..
Fri, Aug 17, 3:41 PM
markj added a comment to D16756: Add INVARIANTS-only fences to synchronize lockless refcount updates..
In D16756#356654, @mjg wrote:

I think the current names while justifiable only add confusion (why is refcount *acquire* paired with fence *rel*?). How about 'VNODE_REFCOUNT_FENCE_BEFORE' and after.

Fri, Aug 17, 3:32 PM
markj added a comment to D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
In D16748#356477, @dim wrote:

I haven't yet had time to look at this, but it should really be suggested and vetted upstream first, before applying it locally.

Fri, Aug 17, 3:31 PM

Thu, Aug 16

markj updated the diff for D16750: Enable -zifunc-noplt on i386 and amd64..
  • Add missing comma.
Thu, Aug 16, 11:00 PM
markj updated the diff for D16756: Add INVARIANTS-only fences to synchronize lockless refcount updates..
  • Make the comment more explicit.
Thu, Aug 16, 10:53 PM
markj updated the diff for D16666: Add some accounting to the per-domain full bucket caches..
  • Simplify the wss update calculation.
  • Give more weight to the tail of the estimate.
Thu, Aug 16, 9:31 PM
markj updated the test plan for D16756: Add INVARIANTS-only fences to synchronize lockless refcount updates..
Thu, Aug 16, 9:17 PM
markj created D16756: Add INVARIANTS-only fences to synchronize lockless refcount updates..
Thu, Aug 16, 9:16 PM
markj committed rS337926: Add partial documentation for dtrace(1)'s -x configuration options..
Add partial documentation for dtrace(1)'s -x configuration options.
Thu, Aug 16, 7:29 PM
markj closed D16671: Extend documentation for the dtrace(1) -x flag.
Thu, Aug 16, 7:29 PM
markj added inline comments to D16750: Enable -zifunc-noplt on i386 and amd64..
Thu, Aug 16, 5:43 PM
markj added inline comments to D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
Thu, Aug 16, 5:34 PM
markj updated the test plan for D16749: Modify the kernel linker to handle ifunc call site relocations..
Thu, Aug 16, 5:31 PM
markj updated the diff for D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
  • update ld.lld.1
Thu, Aug 16, 5:27 PM
markj added a comment to D16736: Some more uses for ifuncs on x86..

I was able to boot with this change on i386 and amd64, using D16748, D16749, D16750. e.g., on i386 we have:

Thu, Aug 16, 4:39 PM
markj added reviewers for D16750: Enable -zifunc-noplt on i386 and amd64.: emaste, kib, jhb.
Thu, Aug 16, 4:37 PM
markj added reviewers for D16749: Modify the kernel linker to handle ifunc call site relocations.: emaste, kib, jhb.
Thu, Aug 16, 4:37 PM
markj updated the summary of D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
Thu, Aug 16, 4:37 PM
markj updated the summary of D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
Thu, Aug 16, 4:24 PM
markj created D16750: Enable -zifunc-noplt on i386 and amd64..
Thu, Aug 16, 4:23 PM
markj created D16749: Modify the kernel linker to handle ifunc call site relocations..
Thu, Aug 16, 4:23 PM
markj created D16748: Preserve relocations against ifuncs when -zifunc-noplt is specified..
Thu, Aug 16, 4:23 PM
markj added a comment to D16713: Eliminate an unnecessary parameter to kmem_malloc_domain().
In D16713#355911, @alc wrote:

I'd rather see it converted to a set of malloc flags (with M_EXEC being the only valid flag for now). Either way, I'd also be happy to remove the arena argument from the other functions.

Alternatively, we could avoid the need for a flags parameter by marking the pages. I would compare this to the way that kmem_free() recovers the domain to which it should return the addresses.

Thu, Aug 16, 5:40 AM
markj added a comment to D16713: Eliminate an unnecessary parameter to kmem_malloc_domain().
In D16713#355892, @alc wrote:

Do you plan to update the kmem_malloc() prototype at some point?

I would happily see the arena argument removed from all of these functions before we branch 12.x. kmem_free() is the only one where the arena isn't entirely redundant. Essentially, kmem_free() uses the arena as a flag to determine whether the addresses should be returned to the domain's kernel arena or rwx arena.

Do we have a consensus?

Thu, Aug 16, 4:32 AM

Wed, Aug 15

markj accepted D16713: Eliminate an unnecessary parameter to kmem_malloc_domain().

Do you plan to update the kmem_malloc() prototype at some point?

Wed, Aug 15, 11:46 PM
markj added inline comments to D16666: Add some accounting to the per-domain full bucket caches..
Wed, Aug 15, 9:03 PM

Tue, Aug 14

markj edited P208 Masterwork From Distant Lands.
Tue, Aug 14, 8:18 PM
markj edited P207 Masterwork From Distant Lands.
Tue, Aug 14, 7:55 PM
markj committed rS337813: Help ensure that the copy loop doesn't get converted to a memcpy() call..
Help ensure that the copy loop doesn't get converted to a memcpy() call.
Tue, Aug 14, 7:21 PM
markj accepted D16618: amd64: ensure that curproc->p_vmspace pmap always matches PCPU curpmap..
Tue, Aug 14, 4:35 PM
markj accepted D16671: Extend documentation for the dtrace(1) -x flag.

This looks good to me, thanks. I would encourage you to flesh some of these out a little more: some of them (e.g., "speculations") are rather terse, and in some cases (e.g., "switchrate") it would be nice to state the default value. I am ok with doing that in follow-up commits though.

Tue, Aug 14, 3:41 PM
markj committed rS337758: Explain why we aren't using memcpy()..
Explain why we aren't using memcpy().
Tue, Aug 14, 2:50 PM
markj committed rS337757: MFC r337426:.
MFC r337426:
Tue, Aug 14, 2:20 PM
markj committed rS337756: MFC r337426:.
MFC r337426:
Tue, Aug 14, 2:18 PM
markj committed rS337755: MFC r337425:.
MFC r337425:
Tue, Aug 14, 2:17 PM
markj committed rS337754: Don't use memcpy() in the early microcode loading code..
Don't use memcpy() in the early microcode loading code.
Tue, Aug 14, 2:03 PM
markj committed rS337751: Fix the !SMP x86 build..
Fix the !SMP x86 build.
Tue, Aug 14, 1:57 PM

Mon, Aug 13

markj added inline comments to D16370: Implement early microcode loading for Intel i386 and amd64 platforms..
Mon, Aug 13, 8:14 PM
markj added reviewers for D16667: Extend uma_reclaim() to permit different reclamation targets.: alc, kib.
Mon, Aug 13, 7:55 PM
markj added reviewers for D16666: Add some accounting to the per-domain full bucket caches.: alc, kib.
Mon, Aug 13, 7:55 PM
markj accepted D16663: Create xpt_sim_poll, refactor and use it in mps / mpr..
Mon, Aug 13, 7:46 PM
markj committed rS337716: Add microcode update configuration to the default loader.conf..
Add microcode update configuration to the default loader.conf.
Mon, Aug 13, 5:14 PM
markj committed rS337715: Implement kernel support for early loading of Intel microcode updates..
Implement kernel support for early loading of Intel microcode updates.
Mon, Aug 13, 5:13 PM
markj closed D16370: Implement early microcode loading for Intel i386 and amd64 platforms..
Mon, Aug 13, 5:13 PM
markj added inline comments to D16671: Extend documentation for the dtrace(1) -x flag.
Mon, Aug 13, 3:26 PM

Sat, Aug 11

markj added a comment to D16671: Extend documentation for the dtrace(1) -x flag.

Nice! I will go through this in the next day or two.

Sat, Aug 11, 6:40 PM
markj accepted D16669: Add a news entry about my enhanced commit privileges.

Approved.

Sat, Aug 11, 6:38 PM
markj accepted D16668: Adding myself to committers-src.dot.

Approved.

Sat, Aug 11, 6:38 PM

Fri, Aug 10

markj added a reviewer for D16667: Extend uma_reclaim() to permit different reclamation targets.: jeff.
Fri, Aug 10, 9:04 PM
markj added a reviewer for D16666: Add some accounting to the per-domain full bucket caches.: jeff.
Fri, Aug 10, 9:04 PM
markj created D16667: Extend uma_reclaim() to permit different reclamation targets..
Fri, Aug 10, 9:03 PM
markj created D16666: Add some accounting to the per-domain full bucket caches..
Fri, Aug 10, 9:02 PM
markj abandoned D16664: Add some accounting to the per-domain full bucket caches..
Fri, Aug 10, 8:43 PM
markj created D16664: Add some accounting to the per-domain full bucket caches..
Fri, Aug 10, 8:42 PM
markj committed rS337584: Disable the D subroutines msgsize() and msgdsize()..
Disable the D subroutines msgsize() and msgdsize().
Fri, Aug 10, 7:23 PM
markj added a comment to D15592: Avoid completing non-dump I/O requests after a panic..
In D15592#354117, @cem wrote:

We only queue items in nondump_bios after a panic. The behaviour when one breaks into ddb and manually triggers a dump is unchanged. That operation is always dangerous and has a chance of hanging the system.

How do you figure? The code does not check for panicstr.

Fri, Aug 10, 6:35 PM
markj accepted D16610: Prevent some parallel swap-ins..
Fri, Aug 10, 5:20 PM
markj added a comment to D16659: Bump pageout_oom_seq..
In D16659#354077, @kib wrote:

I do not object to any tuning of oom_seq, but I note that such change needs Peter' validation. The value of oom_seq is pure empirical and it was some compromise between my tests on 64M (or 32M) QEMU i386 instance and Peter' tests on the 32G+ machines. Too large values caused OOM never triggering at all, since long enough runs of pagedaemon were able to free 1-2 pages despite the system was not able to make any progress.

Fri, Aug 10, 5:17 PM
markj accepted D16610: Prevent some parallel swap-ins..
Fri, Aug 10, 4:11 PM
markj updated the test plan for D16659: Bump pageout_oom_seq..
Fri, Aug 10, 4:08 PM
markj created D16659: Bump pageout_oom_seq..
Fri, Aug 10, 4:05 PM
markj added a comment to D16370: Implement early microcode loading for Intel i386 and amd64 platforms..

Were there any other comments or concerns regarding this change? There is still some time left to make substantial changes if needed, but not very much.

Fri, Aug 10, 2:48 PM
markj added a comment to D16370: Implement early microcode loading for Intel i386 and amd64 platforms..
In D16370#351801, @cem wrote:
Fri, Aug 10, 2:47 PM
markj added a comment to D15592: Avoid completing non-dump I/O requests after a panic..
In D15592#353902, @cem wrote:
In D15592#353889, @cem wrote:

It seems like this approach may continue to submit non-dump IO to the disk during panic via xpt_run_allocq, which is maybe dangerous if we paniced because a filesystem detected some sort of corruption.

Indeed, but that's true regardless... by the time an FS has detected corruption lots of I/O may have completed.

Sure, but the magnitude of a race definitely matters.

Fri, Aug 10, 2:43 PM
markj added a comment to D15592: Avoid completing non-dump I/O requests after a panic..
In D15592#353889, @cem wrote:

It seems like this approach may continue to submit non-dump IO to the disk during panic via xpt_run_allocq, which is maybe dangerous if we paniced because a filesystem detected some sort of corruption.

Fri, Aug 10, 2:53 AM

Thu, Aug 9

markj committed rS337547: Account for the lowmem handlers in the inactive queue scan target..
Account for the lowmem handlers in the inactive queue scan target.
Thu, Aug 9, 6:26 PM
markj closed D16606: Run lowmem handlers before the PID controller..
Thu, Aug 9, 6:26 PM
markj added a comment to D16620: Segregate _NOFREE allocations.
In D16620#353755, @alc wrote:

For 32-bit machines, where we don't have a direct map, this pool-based implementation won't work without explicit allocation of KVA and mapping from that KVA to the allocated physical pages.

Thu, Aug 9, 5:37 PM
markj added inline comments to D16620: Segregate _NOFREE allocations.
Thu, Aug 9, 5:31 PM
markj added a comment to D16606: Run lowmem handlers before the PID controller..
In D16606#353726, @alc wrote:

At the moment, I think that this is the best approach. However, on a NUMA machine, the vm_pageout_lowmem() handlers have a system-wide effect, and so the non-invoking domains will be subject to the issue that I described earlier, i.e., their vmd_free_count's will be reduced by the system-wide effect of vm_pageout_lowmem(), and so it will appear to them that there has been a change in the rate of page allocation on their domains.

How hard will it be to make uma_reclaim() NUMA aware?

Thu, Aug 9, 5:30 PM
markj committed rS337542: MFC r337133:.
MFC r337133:
Thu, Aug 9, 3:36 PM
markj committed rS337541: Welcome Li-Wen to the ranks of src committers..
Welcome Li-Wen to the ranks of src committers.
Thu, Aug 9, 3:22 PM
markj added a comment to D16620: Segregate _NOFREE allocations.

Fragmentation got substantially worse overnight, though it's still much better than before: https://reviews.freebsd.org/P203

Thu, Aug 9, 2:44 PM
markj updated the title for P203 umaslabs -m "VM OBJECT" | gawk '/^0x/{printf("0x%x\n", rshift(strtonum($1), 21));}' | sort | uniq -c | sort -r from Masterwork From Distant Lands to umaslabs -m "VM OBJECT" | gawk '/^0x/{printf("0x%x\n", rshift(strtonum($1), 21));}' | sort | uniq -c | sort -r.
Thu, Aug 9, 2:42 PM