markj (Mark Johnston)
User

Projects

User Details

User Since
Mar 12 2014, 1:00 AM (192 w, 4 d)

Recent Activity

Yesterday

markj added a comment to D13101: Add support for Zstd-compressed kernel and userspace dumps.

Why do you disable debug.minidump in the "testing" section? I don't see any obvious reason this shouldn't work with both full dumps and minidumps. At least, the gzip support doesn't have any such limitations.

Sun, Nov 19, 8:48 AM

Thu, Nov 16

markj committed rS325887: Avoid holding the process in uread() and uwrite()..
Avoid holding the process in uread() and uwrite().
Thu, Nov 16, 7:25 AM
markj committed rS325886: Take r313504 into account when recomputing the string table length..
Take r313504 into account when recomputing the string table length.
Thu, Nov 16, 7:14 AM

Tue, Nov 14

markj accepted D13014: Move NUMA policy iterators into the page allocator layer.

Aside from kib's comment about WAITOK, this looks ok to me. This is pretty similar to the changes in projects/numa2.

Tue, Nov 14, 12:24 AM

Mon, Nov 13

markj accepted D12984: Compute priority with an intermediate widening to prevent overflow.

This looks ok to me. I'm not really sure that it's the best way to address the overflow - I think this solution is making assumptions about how roundup() is implemented. I don't have a better suggestion though.

Mon, Nov 13, 11:47 PM

Wed, Nov 8

markj committed rS325561: Allow various page daemon parameters to be set from loader.conf..
Allow various page daemon parameters to be set from loader.conf.
Wed, Nov 8, 7:55 PM
markj committed rS325528: Correct the type of foff..
Correct the type of foff.
Wed, Nov 8, 1:57 AM
markj added inline comments to D12984: Compute priority with an intermediate widening to prevent overflow.
Wed, Nov 8, 12:01 AM

Tue, Nov 7

markj added inline comments to D11943: Modify vm_page_wire() to not dequeue the specified page.
Tue, Nov 7, 7:56 PM
markj updated the diff for D11943: Modify vm_page_wire() to not dequeue the specified page.

Avoid deactivating active pages.

Tue, Nov 7, 7:55 PM

Mon, Nov 6

markj added a comment to D11943: Modify vm_page_wire() to not dequeue the specified page.
In D11943#269242, @alc wrote:
In D11943#269227, @alc wrote:

I have a simple test where I load an approximately 16GB sized file into memory and then run a program that performs random accesses of various sizes (and alignments) to the file. Lock contention is not an issue in this test. I am not trying to measure the SMP benefits of the lazy wiring.

When I wrote the patch originally, I tried running a read-only multi-threaded pgbench against a database that fit in RAM. Without the patch, we see lots of inactive queue lock contention as postgres processes wire pages into the buffer cache. With the patch, the contention is completely gone since the queue manipulations are deferred to the bufdaemon.

Does it have a measurable effect on TPS?

Mon, Nov 6, 1:22 AM

Sun, Nov 5

markj added a comment to D11943: Modify vm_page_wire() to not dequeue the specified page.
In D11943#269227, @alc wrote:

I have a simple test where I load an approximately 16GB sized file into memory and then run a program that performs random accesses of various sizes (and alignments) to the file. Lock contention is not an issue in this test. I am not trying to measure the SMP benefits of the lazy wiring.

Sun, Nov 5, 10:59 PM

Sat, Nov 4

markj added reviewers for D12945: Introduce phys2disk.: mav, ken.
Sat, Nov 4, 4:10 PM
markj committed rS325402: MFC r325051:.
MFC r325051:
Sat, Nov 4, 4:03 PM
markj committed rS325401: MFC r325050:.
MFC r325050:
Sat, Nov 4, 4:03 PM

Thu, Nov 2

markj accepted D12814: Introduce EVENTHANDLER_LIST_* and some users..
Thu, Nov 2, 3:00 AM

Wed, Nov 1

markj added inline comments to D12814: Introduce EVENTHANDLER_LIST_* and some users..
Wed, Nov 1, 6:22 PM
markj committed rS325281: MFC r324992:.
MFC r324992:
Wed, Nov 1, 1:50 PM
markj accepted D12882: Several hwpmc(4) fixes mostly for logging..
Wed, Nov 1, 3:36 AM

Tue, Oct 31

markj added inline comments to D12882: Several hwpmc(4) fixes mostly for logging..
Tue, Oct 31, 8:42 PM
markj added a comment to D11943: Modify vm_page_wire() to not dequeue the specified page.
In D11943#258507, @alc wrote:

Originally, my hope was that this change would only acquire the inactive queue lock once in vfs_vmio_unwire() for requeueing the page and eliminate the acquisition in vfs_vmio_extend() because we lazily wire each page. However, please take a look at vfs_vmio_unwire(). Unfortunately, the way it is written, the page queue lock will now be acquired twice, first during the vm_page_unwire(PQ_NONE) to dequeue the page and again during vm_page_deactivate() to reenqueue the page. However, if we don't dequeue the page during vm_page_unwire(PQ_NONE) (as in the previous version of this change), then vm_page_deactivate() does nothing because it sees the page is already inactive. In other words, the page doesn't get requeued to the tail.

Tue, Oct 31, 7:21 PM
markj updated the diff for D11943: Modify vm_page_wire() to not dequeue the specified page.

Add vm_page_unwire_noq() and use it in vfs_vmio_unwire() and
sendfile_free_page()

Tue, Oct 31, 7:17 PM
markj committed rS325238: MFC r324920:.
MFC r324920:
Tue, Oct 31, 3:06 PM
markj committed rS325237: MFC r324923:.
MFC r324923:
Tue, Oct 31, 3:02 PM
markj added a comment to D12635: Allow allocations across meta boundaries.

Would it be possible to upload the diff with context (-U999999), so that it's possible to read in between the patch fragments? I find it quite a bit harder to digest the change otherwise.

Tue, Oct 31, 2:20 PM
markj added a comment to D12814: Introduce EVENTHANDLER_LIST_* and some users..

Seems ok to me. Do you plan to update this further in light of Ian's similar patch?

Tue, Oct 31, 2:16 PM
markj accepted D12838: Replace many instances of VM_WAIT with blocking page allocation functions.

Might be nice to define VM_ALLOC_WAITFLAGS to (VM_ALLOC_WAITOK|VM_ALLOC_NOWAIT|VM_ALLOC_WAITFAIL) and use it in places where you wish to clear all three.

Tue, Oct 31, 2:07 PM

Sun, Oct 29

markj committed rS325104: MFC r324868:.
MFC r324868:
Sun, Oct 29, 2:58 PM

Sat, Oct 28

markj committed rS325051: Remove a stale and incorrect comment..
Remove a stale and incorrect comment.
Sat, Oct 28, 2:51 AM
markj committed rS325050: Remove workqueue items after updating the workqueue tail pointer..
Remove workqueue items after updating the workqueue tail pointer.
Sat, Oct 28, 2:48 AM

Fri, Oct 27

markj committed rS325044: Fix a lock leak in g_mirror_destroy()..
Fix a lock leak in g_mirror_destroy().
Fri, Oct 27, 5:05 PM
markj committed rS325038: MFC r324804:.
MFC r324804:
Fri, Oct 27, 2:24 PM
markj committed rS325037: MFC r324809:.
MFC r324809:
Fri, Oct 27, 2:24 PM
markj committed rS325036: MFC r324809:.
MFC r324809:
Fri, Oct 27, 2:23 PM

Wed, Oct 25

markj committed rS324992: Make drain_output() use bufobj_wwait()..
Make drain_output() use bufobj_wwait().
Wed, Oct 25, 5:20 PM
markj closed D12790: Make drain_output() use bufobj_wwait().
Wed, Oct 25, 5:20 PM
markj added reviewers for D12790: Make drain_output() use bufobj_wwait(): kib, mckusick.
Wed, Oct 25, 3:45 PM
markj created D12790: Make drain_output() use bufobj_wwait().
Wed, Oct 25, 3:43 PM
markj abandoned D3054: kern_dump.c: move kernel dump code out of kern_shutdown.c.
Wed, Oct 25, 1:56 AM
markj abandoned D3055: kern_dump.c: provider a higher-level API for MD dumpsys code.
Wed, Oct 25, 1:56 AM
markj abandoned D3057: kern_dump.c add kernel support for compressed kernel dumps.
Wed, Oct 25, 1:55 AM
markj abandoned D3059: savecore: add support for gzip kernel dumps.
Wed, Oct 25, 1:55 AM
markj abandoned D3056: gzio: add a reset function.

Committed as part of a larger rev.

Wed, Oct 25, 1:54 AM
markj abandoned D3058: savecore: fix style bugs.

I committed something like this a while ago.

Wed, Oct 25, 1:54 AM
markj committed rS324967: MFC r324704:.
MFC r324704:
Wed, Oct 25, 1:08 AM
markj committed rS324966: MFC r324704:.
MFC r324704:
Wed, Oct 25, 1:07 AM
markj committed rS324965: Add support for compressed kernel dumps..
Add support for compressed kernel dumps.
Wed, Oct 25, 12:51 AM
markj closed D11723: Add support for compressed kernel dumps..
Wed, Oct 25, 12:51 AM

Mon, Oct 23

markj added inline comments to D12723: Add ccp(4): experimental driver for AMD Crypto Co-Processor.
Mon, Oct 23, 5:55 PM
markj committed rS324923: Remove resource_set_*() declarations from sys/bus.h..
Remove resource_set_*() declarations from sys/bus.h.
Mon, Oct 23, 4:03 PM
markj committed rS324920: Fix the VM_NRESERVLEVEL == 0 build..
Fix the VM_NRESERVLEVEL == 0 build.
Mon, Oct 23, 3:34 PM
markj closed D12764: Fix the VM_NRESERVLEVEL == 0 build.
Mon, Oct 23, 3:34 PM
markj added inline comments to D12764: Fix the VM_NRESERVLEVEL == 0 build.
Mon, Oct 23, 2:21 AM
markj updated the diff for D12764: Fix the VM_NRESERVLEVEL == 0 build.

Remove unintentonal private kernel config update

Mon, Oct 23, 2:20 AM
markj updated the test plan for D12764: Fix the VM_NRESERVLEVEL == 0 build.
Mon, Oct 23, 12:00 AM
markj created D12764: Fix the VM_NRESERVLEVEL == 0 build.
Mon, Oct 23, 12:00 AM

Sun, Oct 22

markj committed rS324868: Delete declarations of struct pfs_bitmap, removed in r143841..
Delete declarations of struct pfs_bitmap, removed in r143841.
Sun, Oct 22, 8:22 PM
markj committed rS324865: Address some miscellaneous issues in the CTF man page..
Address some miscellaneous issues in the CTF man page.
Sun, Oct 22, 7:17 PM
markj committed rS324864: MFV r323105 (partial): 8300 fix man page issues found by mandoc 1.14.1.
MFV r323105 (partial): 8300 fix man page issues found by mandoc 1.14.1
Sun, Oct 22, 6:32 PM

Oct 20 2017

markj committed rS324809: Free the right address range if kmem_back() fails in memguard_alloc()..
Free the right address range if kmem_back() fails in memguard_alloc().
Oct 20 2017, 9:13 PM
markj committed rS324804: Avoid the nbp lookup in the final loop iteration in flushbuflist()..
Avoid the nbp lookup in the final loop iteration in flushbuflist().
Oct 20 2017, 2:56 PM
markj closed D12730: Avoid the nbp lookup in the final loop iteration in flushbuflist().
Oct 20 2017, 2:56 PM

Oct 19 2017

markj updated the diff for D12730: Avoid the nbp lookup in the final loop iteration in flushbuflist().
  • Avoid the inline assignment
Oct 19 2017, 4:57 PM
markj added a reviewer for D12730: Avoid the nbp lookup in the final loop iteration in flushbuflist(): kib.
Oct 19 2017, 4:36 PM
markj created D12730: Avoid the nbp lookup in the final loop iteration in flushbuflist().
Oct 19 2017, 4:35 PM

Oct 18 2017

markj committed rS324722: Move kernel dump offset tracking into MI code..
Move kernel dump offset tracking into MI code.
Oct 18 2017, 3:38 PM
markj closed D11722: Move dump offset tracking into MI code..
Oct 18 2017, 3:38 PM

Oct 17 2017

markj closed D12704: Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL().
Oct 17 2017, 7:41 PM
markj committed rS324704: Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL()..
Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL().
Oct 17 2017, 7:41 PM
markj accepted D12668: Do not overwrite clean blocks on pageout..

I can't see any problems with this; just pointed out a couple more nits.

Oct 17 2017, 6:48 PM
markj added reviewers for D12704: Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL(): kib, mckusick.
Oct 17 2017, 5:53 PM
markj created D12704: Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL().
Oct 17 2017, 5:51 PM
markj added inline comments to D12668: Do not overwrite clean blocks on pageout..
Oct 17 2017, 12:57 AM

Oct 14 2017

markj committed rS324618: MFC r324146:.
MFC r324146:
Oct 14 2017, 5:51 PM

Oct 13 2017

markj accepted D12665: Reduce traffic on vm_cnt.v_free_count.
Oct 13 2017, 9:47 PM
markj accepted D12663: Move swapout code into vm_swapout.c..

Looks ok to me. I like this approach better than, e.g., ffs_softdep.c, where the stubs are kept in the same file.

Oct 13 2017, 7:31 PM
markj committed rS324606: Make the PHOLD in linux_wait_event_common() unconditional..
Make the PHOLD in linux_wait_event_common() unconditional.
Oct 13 2017, 7:27 PM
markj accepted D12660: Evaluate the real size of the sblk_zone..
Oct 13 2017, 4:20 PM
markj accepted D12660: Evaluate the real size of the sblk_zone..

Makes sense to me.

Oct 13 2017, 3:37 PM
markj committed rS324596: MFC r324373:.
MFC r324373:
Oct 13 2017, 1:56 PM

Oct 6 2017

markj committed rS324377: Let stack_create(9) take a malloc flags argument..
Let stack_create(9) take a malloc flags argument.
Oct 6 2017, 9:52 PM
markj closed D12614: Let stack_create(9) take a malloc flags argument.
Oct 6 2017, 9:52 PM
markj added reviewers for D12614: Let stack_create(9) take a malloc flags argument: cem, jhb.
Oct 6 2017, 7:28 PM
markj created D12614: Let stack_create(9) take a malloc flags argument.
Oct 6 2017, 7:27 PM
markj committed rS324373: Avoid adding an extra "0x" prefix before pointer formats..
Avoid adding an extra "0x" prefix before pointer formats.
Oct 6 2017, 6:29 PM

Oct 4 2017

markj committed rS324285: Add get_random_{int,long} to the LinuxKPI..
Add get_random_{int,long} to the LinuxKPI.
Oct 4 2017, 5:29 PM
markj closed D12588: Add get_random_{int,long} to the LinuxKPI.
Oct 4 2017, 5:29 PM
markj committed rS324282: MFC r324066:.
MFC r324066:
Oct 4 2017, 3:47 PM
markj added a reviewer for D12588: Add get_random_{int,long} to the LinuxKPI: hselasky.
Oct 4 2017, 3:26 PM
markj created D12588: Add get_random_{int,long} to the LinuxKPI.
Oct 4 2017, 3:22 PM

Sep 30 2017

markj committed rS324146: Have uiomove_object_page() keep accessed pages in the active queue..
Have uiomove_object_page() keep accessed pages in the active queue.
Sep 30 2017, 11:41 PM

Sep 29 2017

markj added a comment to D11723: Add support for compressed kernel dumps..

(I'm holding off on this for a bit longer as I re-port netdump to HEAD. netdump is a bit different from a regular dump device since it doesn't have a fixed size, and I'm trying to avoid painting myself into a corner by assuming too much about how the dump device works.)

Sep 29 2017, 9:19 PM
markj updated the diff for D11722: Move dump offset tracking into MI code..

Fix bugs in the last update.
dump_encrypted_write() is called by dump_append(), so it cannot use
dump_append() to write to the dump device.

Sep 29 2017, 9:16 PM

Sep 28 2017

markj committed rS324085: MFC r323613:.
MFC r323613:
Sep 28 2017, 3:23 PM
markj committed rS324084: MFC r323290:.
MFC r323290:
Sep 28 2017, 3:22 PM
markj committed rS324083: MFC r323880:.
MFC r323880:
Sep 28 2017, 3:18 PM
markj added a comment to D11943: Modify vm_page_wire() to not dequeue the specified page.
In D11943#258507, @alc wrote:

Originally, my hope was that this change would only acquire the inactive queue lock once in vfs_vmio_unwire() for requeueing the page and eliminate the acquisition in vfs_vmio_extend() because we lazily wire each page. However, please take a look at vfs_vmio_unwire(). Unfortunately, the way it is written, the page queue lock will now be acquired twice, first during the vm_page_unwire(PQ_NONE) to dequeue the page and again during vm_page_deactivate() to reenqueue the page. However, if we don't dequeue the page during vm_page_unwire(PQ_NONE) (as in the previous version of this change), then vm_page_deactivate() does nothing because it sees the page is already inactive. In other words, the page doesn't get requeued to the tail.

Sep 28 2017, 2:39 PM

Sep 27 2017

markj committed rS324066: Use C99 initializers for DTrace provider methods..
Use C99 initializers for DTrace provider methods.
Sep 27 2017, 5:47 PM
markj committed rS324058: MFC r323544:.
MFC r323544:
Sep 27 2017, 2:20 PM
markj committed rS324057: MFC r323564:.
MFC r323564:
Sep 27 2017, 2:18 PM