Page MenuHomeFreeBSD

bnovkov (Bojan Novković)
User

Projects

User Details

User Since
Jan 29 2022, 5:50 PM (120 w, 1 d)

Recent Activity

Yesterday

bnovkov updated the diff for D44567: bhyve: Add support for specifying VM NUMA configuration.

Update patch.

Sat, May 18, 1:57 PM
bnovkov updated the diff for D44566: libvmmapi: Add support for setting up and configuring guest NUMA domains.

Update patch and summary.

Sat, May 18, 1:49 PM
bnovkov updated the diff for D44565: vmm: Add support for specifying NUMA configuration.

Reworked patch and updated summary.

Sat, May 18, 1:38 PM

Mon, May 13

bnovkov added inline comments to D45084: uma: deduplicate uma_small_alloc.
Mon, May 13, 7:18 PM
bnovkov updated the diff for D45084: uma: deduplicate uma_small_alloc.

Address multiple comments:

  • enabled UMA_MD_SMALL_ALLOC unconditionally
  • removed redundant include guard in ppc uma_machdep
  • removed obsolete u_int8_t types
Mon, May 13, 7:15 PM
bnovkov added inline comments to D45043: vm_reserv: introduce unmanaged reservations.
Mon, May 13, 5:23 PM

Sun, May 12

bnovkov added a comment to D45163: vm: Allow kstack pages to come from different domains.
In D45163#1030231, @mjg wrote:

why even support something like this?

instead, if pages can't be all be allocated from one domain, the code could be patched to free up whatever it did and try a different one

Sun, May 12, 10:24 AM

Sat, May 11

bnovkov updated the diff for D45163: vm: Allow kstack pages to come from different domains.

Remove redundant m == NULL check.

Sat, May 11, 5:43 PM
bnovkov updated the diff for D45163: vm: Allow kstack pages to come from different domains.

Simplify vm_thread_stack_back page allocation loop.

Sat, May 11, 5:15 PM
bnovkov updated the summary of D45163: vm: Allow kstack pages to come from different domains.
Sat, May 11, 10:40 AM
bnovkov added inline comments to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.
Sat, May 11, 10:37 AM
bnovkov requested review of D45163: vm: Allow kstack pages to come from different domains.
Sat, May 11, 10:34 AM

Wed, May 8

bnovkov added inline comments to D45084: uma: deduplicate uma_small_alloc.
Wed, May 8, 5:12 PM
bnovkov added inline comments to D45085: vm: simplify conditional for dumping startup pages.
Wed, May 8, 4:55 PM
bnovkov updated the diff for D45085: vm: simplify conditional for dumping startup pages.

Add missing arm vmparam.h updates.

Wed, May 8, 4:50 PM

Fri, May 3

bnovkov updated the diff for D45046: vm_reserv: add reservation-aware UMA small_alloc .

Removed stray UMA code from diff.

Fri, May 3, 8:34 PM
bnovkov requested review of D45085: vm: simplify conditional for dumping startup pages.
Fri, May 3, 8:26 PM
bnovkov updated the diff for D45044: uma: retire UMA_MD_SMALL_ALLOC.

Address @markj 's comment - uma_small_alloc code deduplication was carved out into a separate revision.

Fri, May 3, 8:21 PM
bnovkov requested review of D45084: uma: deduplicate uma_small_alloc.
Fri, May 3, 8:09 PM

Thu, May 2

bnovkov added a comment to D45045: malloc(9): introduce M_NEVERFREED.
In D45045#1027214, @kib wrote:

Why not M_NOFREE?

M_NOFREE was already taken by sys/mbuf.h, M_NEVERFREED is one of the alternative names proposed by @alc .

Thu, May 2, 4:59 PM
bnovkov added inline comments to D45044: uma: retire UMA_MD_SMALL_ALLOC.
Thu, May 2, 4:41 PM
bnovkov updated the diff for D45044: uma: retire UMA_MD_SMALL_ALLOC.

Address @mhorne 's and @kib 's comments:

Thu, May 2, 4:38 PM

Wed, May 1

bnovkov updated the summary of D45045: malloc(9): introduce M_NEVERFREED.
Wed, May 1, 1:59 PM
bnovkov updated the test plan for D45046: vm_reserv: add reservation-aware UMA small_alloc .
Wed, May 1, 1:57 PM
bnovkov requested review of D45046: vm_reserv: add reservation-aware UMA small_alloc .
Wed, May 1, 1:54 PM
bnovkov requested review of D45045: malloc(9): introduce M_NEVERFREED.
Wed, May 1, 1:47 PM
bnovkov requested review of D45044: uma: retire UMA_MD_SMALL_ALLOC.
Wed, May 1, 1:44 PM
bnovkov requested review of D45043: vm_reserv: introduce unmanaged reservations.
Wed, May 1, 1:36 PM

Tue, Apr 30

bnovkov accepted D45019: vm: Fix error handling in vm_thread_stack_back().
Tue, Apr 30, 7:29 AM

Apr 10 2024

bnovkov committed rG7a79d0669761: vm: improve kstack_object pindex calculation to avoid pindex holes (authored by bnovkov).
vm: improve kstack_object pindex calculation to avoid pindex holes
Apr 10 2024, 3:39 PM
bnovkov closed D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.
Apr 10 2024, 3:39 PM

Apr 8 2024

bnovkov added inline comments to D40575: Implement the Free Memory Fragmentation Index (FMFI) metric.
Apr 8 2024, 6:28 PM
bnovkov added a comment to D40772: Tentative physical memory compaction.

As promised, I've removed some redundant bits from the patch, it should be a bit clearer now.

Apr 8 2024, 6:17 PM
bnovkov updated the diff for D40772: Tentative physical memory compaction.

Regenerate and simplify patch.

Apr 8 2024, 6:00 PM
bnovkov added inline comments to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.
Apr 8 2024, 5:39 PM

Apr 7 2024

bnovkov added inline comments to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.
Apr 7 2024, 4:58 PM

Apr 4 2024

bnovkov updated the diff for D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Address @markj 's comments and fix a couple of issues:

  • Certain kstack KVA chunks were released back to the parent arena with improper alignment, causing vmem_xfree to panic
  • swapping in thread kstacks triggered a panic as the former code relied on vm_page_grab_pages
Apr 4 2024, 10:49 PM

Apr 3 2024

bnovkov committed rG872c4402af13: ddb: Don't throw away qualifier when pretty-printing unnamed pointers (authored by bnovkov).
ddb: Don't throw away qualifier when pretty-printing unnamed pointers
Apr 3 2024, 4:19 PM
bnovkov committed rGaada453dcbaa: ddb: Properly pretty-print non-labeled enum values (authored by bnovkov).
ddb: Properly pretty-print non-labeled enum values
Apr 3 2024, 4:19 PM
bnovkov added a comment to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Sorry for the delay, @markj reported a panic when booting this patch on a NUMA machine and it took me a while to set up a NUMA environment and properly fix the issue.

Apr 3 2024, 3:28 PM
bnovkov updated the diff for D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Update patch to track and properly release kstacks to domain arenas, address @kib 's comments.

Apr 3 2024, 3:23 PM

Apr 2 2024

bnovkov added a comment to D44565: vmm: Add support for specifying NUMA configuration.

It's not clear to me why we don't extend the vm_memmap structure instead.

Stepping back for a second, the goal of this patch is not really clear to me. I can see two possibilities:

  • We want to create a fake NUMA topology, e.g., to make it easier to use bhyve to test NUMA-specific features in guest kernels.
  • We want some way to have bhyve/vmm allocate memory from multiple physical NUMA domains on the host, and pass memory affinity information to the guest. In that case, vmm itself needs to ensure, for example, that the VM object for a given memseg has the correct NUMA allocation policy.

I think this patch ignores the second goal and makes it harder to implement in the future.

You're right, the primary goal was to have a way of faking NUMA topologies in a guest for kernel testing purposes. I did consider the second goal but ultimately decided to focus on the "fake" bits first and implement the rest in a separate patch.
I'll rework the patch so that it covers both goals.

It also appears to assume that each domain can be described with a single PA range, and I don't really understand why vmm needs to know the CPU affinity of each domain.

I'm not that happy about directly specifying PA ranges directly. The only other thing I could think of is to let the user specify the amount of memory per-domain and let bhyve deal with PA ranges, do you think that this is a more sane approach?
As for the CPU affinities, these are needed for SRAT but that can be done purely from userspace. I've kept them in vmm in case we might want to get NUMA topology info using bhyvectl, but I guess that information can be obtained from the guest itself. I'll remove the cpusets.

Apr 2 2024, 3:30 PM

Mar 30 2024

bnovkov updated the summary of D44567: bhyve: Add support for specifying VM NUMA configuration.
Mar 30 2024, 4:36 PM
bnovkov requested review of D44567: bhyve: Add support for specifying VM NUMA configuration.
Mar 30 2024, 4:33 PM
bnovkov requested review of D44566: libvmmapi: Add support for setting up and configuring guest NUMA domains.
Mar 30 2024, 4:33 PM
bnovkov requested review of D44565: vmm: Add support for specifying NUMA configuration.
Mar 30 2024, 4:33 PM

Mar 29 2024

bnovkov committed rGbdc903460be4: kern_ctf.c: Don't print out warning messages unconditionally (authored by bnovkov).
kern_ctf.c: Don't print out warning messages unconditionally
Mar 29 2024, 7:33 PM

Mar 28 2024

bnovkov committed rG722b8e3cb62b: Fix style nits in kern_linker.c (authored by bnovkov).
Fix style nits in kern_linker.c
Mar 28 2024, 7:38 PM
bnovkov committed rG637e67e03290: ddb: Drop obsolete -FreeBSD identifier from license (authored by bnovkov).
ddb: Drop obsolete -FreeBSD identifier from license
Mar 28 2024, 7:34 PM
bnovkov added inline comments to D37899: ddb: Add basic CTF support [2/2].
Mar 28 2024, 7:11 PM

Mar 22 2024

bnovkov abandoned D37898: ddb: Add basic CTF support [1/2].
Mar 22 2024, 4:07 AM
bnovkov closed D37899: ddb: Add basic CTF support [2/2].
Mar 22 2024, 3:57 AM
bnovkov committed rGc21bc6f3c242: ddb: Add CTF-based pretty printing (authored by bnovkov).
ddb: Add CTF-based pretty printing
Mar 22 2024, 3:57 AM
bnovkov added inline comments to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.
Mar 22 2024, 3:13 AM
bnovkov updated the diff for D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Address @kib 's comments.

Mar 22 2024, 3:10 AM

Mar 21 2024

bnovkov updated the diff for D44450: [WIP] vm: introduce batch page allocation.

Remove commented lines.

Mar 21 2024, 4:36 AM
bnovkov requested review of D44450: [WIP] vm: introduce batch page allocation.
Mar 21 2024, 4:34 AM

Mar 15 2024

bnovkov added a comment to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Apologies for the delayed response.
@markj and I will go through the patch once more during next week, so it should get commited soon.

Mar 15 2024, 8:14 PM
bnovkov updated the diff for D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Rebase and address comments by @alc , @kib , and @dougm.

Mar 15 2024, 8:06 PM

Feb 19 2024

bnovkov committed rG849599e28a87: committers-src: Add bnovkov@ with markj@ and jhb@ as mentors (authored by bnovkov).
committers-src: Add bnovkov@ with markj@ and jhb@ as mentors
Feb 19 2024, 3:58 PM
bnovkov closed D43963: committers-src: Add bnovkov@ with markj@ and jhb@ as mentors.
Feb 19 2024, 3:57 PM
bnovkov closed D43962: New src committer: Bojan Novković (bnovkov).

Committed in R9:607c4b857a65b68289e9d7f86a8855def93c09f0.

Feb 19 2024, 3:46 PM
bnovkov accepted D43962: New src committer: Bojan Novković (bnovkov).
Feb 19 2024, 3:46 PM
bnovkov abandoned D42406: bhyve: fix invalid argument in a GDB stub debug printf statement.
Feb 19 2024, 3:45 PM
bnovkov committed R9:607c4b857a65: New src committer: Bojan Novković (bnovkov) (authored by bnovkov).
New src committer: Bojan Novković (bnovkov)
Feb 19 2024, 3:34 PM

Feb 18 2024

bnovkov requested review of D43963: committers-src: Add bnovkov@ with markj@ and jhb@ as mentors.
Feb 18 2024, 5:38 PM
bofh renamed bnovkov from bojan.novkovic_fer.hr to bnovkov.
Feb 18 2024, 5:28 PM
bnovkov requested review of D43962: New src committer: Bojan Novković (bnovkov).
Feb 18 2024, 5:13 PM

Feb 3 2024

bnovkov added inline comments to D43622: vm_map_wire: speed up wiring for large virtual address ranges.
Feb 3 2024, 4:29 PM
bnovkov updated the diff for D43622: vm_map_wire: speed up wiring for large virtual address ranges.

Address @kib 's comments.

Feb 3 2024, 4:23 PM

Jan 26 2024

bnovkov requested review of D43622: vm_map_wire: speed up wiring for large virtual address ranges.
Jan 26 2024, 6:18 PM

Jan 6 2024

bnovkov accepted D43339: powerpc_mmu_radix: add leaf page for wired mappings when pmap_enter(psind=1).

Aside from the issue @markj pointed out, LGTM.

Jan 6 2024, 4:33 PM

Dec 12 2023

bnovkov updated the diff for D42298: bhyve: refactor gdbstub to enable single-stepping on AMD CPUs.

Address @jhb 's comments.

Dec 12 2023, 4:34 PM · bhyve

Nov 30 2023

bnovkov added a comment to D42405: vmm: refactor event reflection in AMD SVM.
In D42405#976891, @jhb wrote:

If you merge this first, then the breakpoint patch doesn't need 'handled = 0', right?

Nov 30 2023, 4:06 PM
bnovkov added inline comments to D42296: vmm: implement single-stepping for AMD CPUs.
Nov 30 2023, 4:05 PM · bhyve
bnovkov updated the diff for D42296: vmm: implement single-stepping for AMD CPUs.

Address @jhb 's comments.

Nov 30 2023, 4:02 PM · bhyve

Nov 29 2023

bnovkov added a comment to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.
In D38852#975886, @bojan.novkovic_fer.hr wrote:

One other open issue that we didn't discuss much yet is what to do on 32-bit systems. Since the kernel virtual address space is much more limited there, it perhaps (probably?) doesn't make much sense to change the existing scheme. This is especially true if we start trying to align virtual mappings of stacks as Alan suggests.

Given the recent decision to deprecate and potentially remove support for 32-bit systems with 15.0, do you think that this is still an issue we should address?

Yes - the actual removal of 32-bit kernels isn't going to happen anytime soon. 15.0 is two years out, and it's not entirely clear to me that we're ready to remove 32-bit ARM support.

But, can't we handle this simply by making vm_kstack_pindex() use the old KVA<->pindex mapping scheme if _ILP32 is defined?

Nov 29 2023, 7:43 PM
bnovkov updated the diff for D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Address @markj 's comments:

  • multiline comment style fixes
  • use old mapping scheme on 32-bit systems
Nov 29 2023, 7:40 PM
bnovkov added inline comments to D42296: vmm: implement single-stepping for AMD CPUs.
Nov 29 2023, 4:11 PM · bhyve

Nov 27 2023

bnovkov added a comment to D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

One other open issue that we didn't discuss much yet is what to do on 32-bit systems. Since the kernel virtual address space is much more limited there, it perhaps (probably?) doesn't make much sense to change the existing scheme. This is especially true if we start trying to align virtual mappings of stacks as Alan suggests.

Nov 27 2023, 6:25 PM
bnovkov updated the diff for D38852: vm: improve kstack_object pindex calculation scheme to avoid pindex holes.

Address @alc 's comments.

Nov 27 2023, 6:16 PM

Nov 13 2023

bnovkov updated the diff for D42564: tty: properly check character position when handling IUTF8 backspaces.

Upload diff with full context.

Nov 13 2023, 5:57 PM
bnovkov updated the summary of D42564: tty: properly check character position when handling IUTF8 backspaces.
Nov 13 2023, 5:23 PM
bnovkov requested review of D42564: tty: properly check character position when handling IUTF8 backspaces.
Nov 13 2023, 4:49 PM

Nov 8 2023

bnovkov updated the summary of D42517: vm_fault: revert D19670.
Nov 8 2023, 8:22 PM
bnovkov added a comment to D41633: riscv pmap: allocate leaf page table page for wired userspace superpages.

Would you like to do the honours of reverting the vm_fault change? :)

Nov 8 2023, 8:18 PM
bnovkov requested review of D42517: vm_fault: revert D19670.
Nov 8 2023, 8:17 PM

Nov 7 2023

bnovkov added a comment to D41633: riscv pmap: allocate leaf page table page for wired userspace superpages.

Sorry for the delayed reply. The above-mentioned riscv pmap commits are in main now - @bojan.novkovic_fer.hr would it be possible to rebase on top of that? Then I can commit this patch, and we can finally revert D19670.

Nov 7 2023, 6:16 PM
bnovkov updated the diff for D41633: riscv pmap: allocate leaf page table page for wired userspace superpages.

Rebased the patch.

Nov 7 2023, 6:14 PM

Oct 30 2023

bnovkov added inline comments to D42298: bhyve: refactor gdbstub to enable single-stepping on AMD CPUs.
Oct 30 2023, 5:25 PM · bhyve
bnovkov requested review of D42406: bhyve: fix invalid argument in a GDB stub debug printf statement.
Oct 30 2023, 5:24 PM
bnovkov added inline comments to D42298: bhyve: refactor gdbstub to enable single-stepping on AMD CPUs.
Oct 30 2023, 5:16 PM · bhyve
bnovkov updated the diff for D42298: bhyve: refactor gdbstub to enable single-stepping on AMD CPUs.

Address @corvink 's comments.

Oct 30 2023, 5:11 PM · bhyve
bnovkov added inline comments to D42296: vmm: implement single-stepping for AMD CPUs.
Oct 30 2023, 5:05 PM · bhyve
bnovkov updated the diff for D42296: vmm: implement single-stepping for AMD CPUs.

Address @corvink 's comments.

Oct 30 2023, 5:04 PM · bhyve
bnovkov updated the diff for D42295: vmm: enable software breakpoints for AMD CPUs.

Address @corvink's comments, unrelated exception reflection change was split into its own patch (D42405), updated commit message to be more clear.

Oct 30 2023, 4:57 PM · bhyve
bnovkov added a reviewer for D42405: vmm: refactor event reflection in AMD SVM: corvink.
Oct 30 2023, 4:57 PM
bnovkov updated the summary of D42405: vmm: refactor event reflection in AMD SVM.
Oct 30 2023, 4:56 PM
bnovkov requested review of D42405: vmm: refactor event reflection in AMD SVM.
Oct 30 2023, 4:56 PM

Oct 26 2023

bnovkov added a comment to D40772: Tentative physical memory compaction.

Note this became more important since we have ASLR turned on for 64 bit processes since 13.2-RELEASE. And ASLR adds great deal of fragmentation. It leads to significant performance degradation over long run due to superpages becoming unusable due memory fragmentation.

Oct 26 2023, 7:36 PM