Page MenuHomeFreeBSD
Feed Advanced Search

Yesterday

markj added inline comments to D50967: libtpool/tests: Fix a flaky test.
Sat, Jun 21, 6:33 PM
markj requested review of D50967: libtpool/tests: Fix a flaky test.
Sat, Jun 21, 6:32 PM
markj added inline comments to D50831: fusefs: First take on exterrorizing.
Sat, Jun 21, 12:00 AM

Fri, Jun 20

markj committed rG2fcbd5a75b5a: netgraph/ksocket tests: Bind to a specific address (authored by markj).
netgraph/ksocket tests: Bind to a specific address
Fri, Jun 20, 10:36 PM
markj committed rG3ef02a3d2e85: kill: Fix support for kill -0 (authored by rbranco_suse.com).
kill: Fix support for kill -0
Fri, Jun 20, 10:25 PM
markj added a reviewer for D50952: kerberos5: Avoid embedding full paths in generated files: cy.
Fri, Jun 20, 5:15 PM
markj requested review of D50955: ncurses: Provide reproducible paths.
Fri, Jun 20, 5:14 PM
markj requested review of D50954: newvers: Add a builddir parameter.
Fri, Jun 20, 5:13 PM
markj requested review of D50953: sys/conf: Remap paths for reproducibility.
Fri, Jun 20, 5:13 PM
markj requested review of D50952: kerberos5: Avoid embedding full paths in generated files.
Fri, Jun 20, 5:13 PM
markj requested review of D50951: share/mk: Substitute reproducible prefixes in dwarf info.
Fri, Jun 20, 5:13 PM
markj committed rGa37bc4cb8d2c: localedef: Fix a wchar_t comparison (authored by markj).
localedef: Fix a wchar_t comparison
Fri, Jun 20, 4:41 PM
markj committed rG770fba248daf: localedef: Use consistent sorting order (authored by markj).
localedef: Use consistent sorting order
Fri, Jun 20, 4:41 PM
markj closed D50757: localedef: Fix a wchar_t comparison.
Fri, Jun 20, 4:40 PM
markj closed D50756: localedef: Use consistent sorting order.
Fri, Jun 20, 4:40 PM
markj accepted D50949: scandir: Fix behavior when no entries match..

Out of curiosity, which applications depended on this? I didn't see any apparent problems in the regression test suite.

Fri, Jun 20, 4:09 PM
markj accepted D47329: rc: Use check_jail to check values of security.jail MIBs.
Fri, Jun 20, 3:49 PM ยท rc
markj committed rGa66d631a385e: qat: refactor error handling and add mutex locks (authored by hareshx.sankar.raj_intel.com).
qat: refactor error handling and add mutex locks
Fri, Jun 20, 1:59 PM
markj committed rGef360183df81: qat: update API files to use SPDX identifier (authored by hareshx.sankar.raj_intel.com).
qat: update API files to use SPDX identifier
Fri, Jun 20, 1:54 PM
markj committed rG84af3e5b2f67: qat: move debugfs handling to separate file (authored by hareshx.sankar.raj_intel.com).
qat: move debugfs handling to separate file
Fri, Jun 20, 1:54 PM
markj committed rGcabd847e400f: qat: driver updates to improve code and fix bugs (authored by hareshx.sankar.raj_intel.com).
qat: driver updates to improve code and fix bugs
Fri, Jun 20, 1:54 PM
markj committed rG9c5211114872: qat: reimplement cpaCyGetXXXInstances as a wrapper (authored by hareshx.sankar.raj_intel.com).
qat: reimplement cpaCyGetXXXInstances as a wrapper
Fri, Jun 20, 1:54 PM
markj committed rGef712e91a866: qat: restrict sysctl access to privileged users (authored by hareshx.sankar.raj_intel.com).
qat: restrict sysctl access to privileged users
Fri, Jun 20, 1:54 PM
markj committed rG82172ed4c98c: qat: add disable safe dc mode for QAT SPR devices (authored by hareshx.sankar.raj_intel.com).
qat: add disable safe dc mode for QAT SPR devices
Fri, Jun 20, 1:54 PM
markj committed rG5c78efa63b44: qat: fix typos and formatting issues (authored by hareshx.sankar.raj_intel.com).
qat: fix typos and formatting issues
Fri, Jun 20, 1:54 PM
markj committed rGf3ab96aeb509: gve: Fix timestamp invalidation for DQO queue formats (authored by jtranoleary_google.com).
gve: Fix timestamp invalidation for DQO queue formats
Fri, Jun 20, 1:53 PM
markj committed rGb089e3135685: dtrace tests: Fix nits in some test programs (authored by markj).
dtrace tests: Fix nits in some test programs
Fri, Jun 20, 1:53 PM
markj committed rG0d698e74fb6b: devfs: Set eofflag in devfs_readdir() (authored by markj).
devfs: Set eofflag in devfs_readdir()
Fri, Jun 20, 1:53 PM
markj committed rG021eb07a8b28: igc: Fix some issues in igc_neweitr() (authored by markj).
igc: Fix some issues in igc_neweitr()
Fri, Jun 20, 1:53 PM
markj committed rG7fcba358114b: igc: Initialize helper variables in igc_neweitr() (authored by markj).
igc: Initialize helper variables in igc_neweitr()
Fri, Jun 20, 1:53 PM
markj committed rG0700107b4b7c: dtrace: Add compiler barriers around updates to per-CPU flags (authored by markj).
dtrace: Add compiler barriers around updates to per-CPU flags
Fri, Jun 20, 1:53 PM
markj committed rGf7a5aab53f26: gve: Add callout to detect and handle TX timeouts (authored by jtranoleary_google.com).
gve: Add callout to detect and handle TX timeouts
Fri, Jun 20, 1:53 PM
markj committed rGf3ac4f027b26: dtrace/profile: Stop storing the probe name in struct profile_probe (authored by markj).
dtrace/profile: Stop storing the probe name in struct profile_probe
Fri, Jun 20, 1:53 PM
markj committed rG4e8531ec2633: gve: Use load-acquire to fetch generation bits (authored by jtranoleary_google.com).
gve: Use load-acquire to fetch generation bits
Fri, Jun 20, 1:53 PM
markj committed rGd22903d79b48: namei: Fix cn_flags width in various places (authored by markj).
namei: Fix cn_flags width in various places
Fri, Jun 20, 1:53 PM
markj committed rG35e91b0447f1: e1000: Fix some issues in em_newitr() (authored by markj).
e1000: Fix some issues in em_newitr()
Fri, Jun 20, 1:53 PM
markj committed rG18dac500d86f: e1000: Initialize helper variables in em_newitr() (authored by markj).
e1000: Initialize helper variables in em_newitr()
Fri, Jun 20, 1:53 PM
markj committed rG4b3ee88ea7f8: makefs: Use gmtime() instead of localtime for timestamps (authored by markj).
makefs: Use gmtime() instead of localtime for timestamps
Fri, Jun 20, 1:53 PM
markj committed rG1e3b1b09c3b3: makefs: Make sure that directory entry order is consistent (authored by markj).
makefs: Make sure that directory entry order is consistent
Fri, Jun 20, 1:53 PM
markj committed rG1225d1a7c948: capsicum: Statically initialize commonly used capability rights (authored by markj).
capsicum: Statically initialize commonly used capability rights
Fri, Jun 20, 1:53 PM
markj committed rG2060337c0937: file: Qualify pointers to capsicum rights as const (authored by markj).
file: Qualify pointers to capsicum rights as const
Fri, Jun 20, 1:52 PM
markj accepted D50605: sound: Retire the MIDI sequencer.
Fri, Jun 20, 1:47 PM
markj added inline comments to D50922: dtrace_fbt.4: Document the DTrace fbt provider.
Fri, Jun 20, 1:25 PM
markj added a comment to D50947: ethernet: Move the assertion of ether header sizes back into ethernet.h.

I intended to MFC this to stable/14, but stable/14 still has gnu99 as the default.

Fri, Jun 20, 1:01 PM

Thu, Jun 19

markj updated the diff for D50315: inotify: Initial revision.
  • Rebase.
  • Fix handling of the queue limit, i.e., coalesce overflow events when possible.
  • Make the user watch limit a function of the maximum number of vnodes. Each watch represents a vnode ref, so we should ensure that excessive watches do not prevent vnode reclamation. At the same time, some reading suggests that the watch limit is often too low on Linux, so this approach is better than a hard-coded limit.
  • Impose a global limit on the number of watches. This is higher than the per-user limit.
  • Add a sysctl to export the total number of watches in use.
Thu, Jun 19, 10:35 PM
markj accepted D47935: pmap_growkernel(): do not panic immediately, return error.
Thu, Jun 19, 9:53 PM
markj accepted D50935: libc: Add fscandir(), fscandir_b(), scandirat_b()..
Thu, Jun 19, 7:22 PM
markj accepted D50936: diff: Detect loops when diffing directories..
Thu, Jun 19, 4:16 PM
markj added inline comments to D50936: diff: Detect loops when diffing directories..
Thu, Jun 19, 3:21 PM
markj added inline comments to D50786: gve: Add support for 4k RX Buffers when using DQO queue formats.
Thu, Jun 19, 1:47 PM
markj accepted D50935: libc: Add fscandir(), fscandir_b(), scandirat_b()..
Thu, Jun 19, 1:42 PM
markj accepted D50936: diff: Detect loops when diffing directories..
Thu, Jun 19, 1:33 PM
markj accepted D50917: kern: send parent a SIGCHLD when the debugger has detached.
Thu, Jun 19, 1:10 PM

Wed, Jun 18

markj committed rG4c6c1dd8f7ce: vm_page: Fix nofree page accounting (authored by markj).
vm_page: Fix nofree page accounting
Wed, Jun 18, 11:49 PM
markj closed D50877: vm_page: Fix nofree page accounting.
Wed, Jun 18, 11:48 PM
markj added a comment to D50917: kern: send parent a SIGCHLD when the debugger has detached.

Should we note this behaviour in ptrace.2?

Wed, Jun 18, 7:33 PM
markj accepted D50854: tracing.7: Add a single reference point for tracing facilities in FreeBSD.
Wed, Jun 18, 7:32 PM
markj added inline comments to D50315: inotify: Initial revision.
Wed, Jun 18, 3:00 PM
markj accepted D47935: pmap_growkernel(): do not panic immediately, return error.
In D47935#1162094, @kib wrote:

I still don't really like it. I'd prefer to understand exactly why pmap_growkernel() failed--is it because it tried to allocate more than v_interrupt_free_min (2) pages? Is it because there was some concurrent VM_ALLOC_INTERRUPT page allocation? Why don't we see such panics from stress2?

Perhaps stress2 is not stressful enough. Jokes aside, I do know that hardware that Peter uses is relatively old and underpowered by the modern standards. I do not think that he has anything larger that 64 threads.

Another issue might be that stress2 mostly tests top level of the kernel, since this is what we can load from the syscall layer. There are no tests for things that would utilize VM_ALLOC_INTERRUPT enough. For instance, high-speed (200G/400G) ethernet card with lot of receive queues on large multiprocessor with the parallel swap load is something that is not tested by stress2.

And then, I read your arguments as the attempt to make vm_page_alloc(VM_ALLOC_INTERRUPT) non-failing. I do not think this is feasible or intended. All callers of vm_page_alloc() must be prepared for the failure, and the reserve would not work there.

Regarding the pmap, wouldn't the interrupt reserve depleted if all CPUs call pmap_growkernel() if back-to-back manner, not giving the pagedaemon threads a chance to become runnable? I think this is possible with differrent zones needing to grow KVA, or something similar. And no, I do not think that any bump of the reserve for interrupt allocation would solve this theoretically correct.

Wed, Jun 18, 1:57 PM
markj committed rG9d0d55e398bf: ufshci: Remove an unneeded variable definition (authored by markj).
ufshci: Remove an unneeded variable definition
Wed, Jun 18, 1:15 PM

Tue, Jun 17

markj accepted D50855: capsicum.4: Add some more detail from the Capsicum paper.
Tue, Jun 17, 4:07 PM
markj added inline comments to D50709: beep: Capsicumize.
Tue, Jun 17, 4:03 PM
markj added a comment to D50711: release: Add set -e to abort upon failure.

This seems fine in principle, but it'll probably break some targets which rely on ignoring errors.

Tue, Jun 17, 4:02 PM
markj added inline comments to D50855: capsicum.4: Add some more detail from the Capsicum paper.
Tue, Jun 17, 4:00 PM
markj accepted D50910: tests: Update for jemalloc's option parsing.
Tue, Jun 17, 3:51 PM
markj accepted D50907: Reset kvo_laundry to prevent it being cumulative.
Tue, Jun 17, 1:55 PM
markj accepted D50806: bhyve: add PCI IDs of Intel GPUs from Linux v6.15.
Tue, Jun 17, 12:39 PM
markj added inline comments to D45342: bhyve: protect MMIO mapped BDSM register.
Tue, Jun 17, 12:38 PM
markj added inline comments to D45341: bhyve: add interface to protect BAR regions of passthru devices.
Tue, Jun 17, 12:27 PM
markj added inline comments to D45339: bhyve: add BAR handler list for passthru devices.
Tue, Jun 17, 12:24 PM
markj accepted D45339: bhyve: add BAR handler list for passthru devices.
Tue, Jun 17, 12:13 PM
markj accepted D45338: bhyve: add GVT-d support for graphics gen 11 and newer.
Tue, Jun 17, 12:09 PM
markj accepted D45337: bhyve: support VBTs which lay outside of the OpRegion.
Tue, Jun 17, 12:08 PM
markj added a comment to D47935: pmap_growkernel(): do not panic immediately, return error.

syzkaller hit similar issue with fork(2):
https://syzkaller.appspot.com/bug?extid=6cd13c008e8640eceb4c

IMHO, we could propagate the pmap_growkernel() error all the way up and fail the syscall.

Tue, Jun 17, 12:03 PM
markj committed rGba3d547967c8: tcp: Fix the SO_REUSEPORT_LB check (authored by markj).
tcp: Fix the SO_REUSEPORT_LB check
Tue, Jun 17, 11:28 AM
markj closed D50893: tcp: Fix the SO_REUSEPORT_LB check.
Tue, Jun 17, 11:28 AM
markj requested review of D50893: tcp: Fix the SO_REUSEPORT_LB check.
Tue, Jun 17, 1:22 AM

Mon, Jun 16

markj accepted D50718: msdosfs: Add _WANT_MSDOSFS_INTERNALS to replace MAKEFS in headers.
Mon, Jun 16, 9:08 PM
markj accepted D50885: msdosfs: Don't #ifdef out msdosfsmount members.
Mon, Jun 16, 9:08 PM
markj committed rG64e0b2e8f752: makefs: Implement the collision differentiator for micro ZAPs (authored by markj).
makefs: Implement the collision differentiator for micro ZAPs
Mon, Jun 16, 8:50 PM
markj accepted D50879: audit: move the wait from the queue length from the commit to alloc.
Mon, Jun 16, 5:17 PM
markj updated the diff for D50877: vm_page: Fix nofree page accounting.

Make the queue size update atomic.

Mon, Jun 16, 4:37 PM
markj accepted D50879: audit: move the wait from the queue length from the commit to alloc.
Mon, Jun 16, 4:33 PM
markj added inline comments to D50879: audit: move the wait from the queue length from the commit to alloc.
Mon, Jun 16, 4:15 PM
markj added a comment to D49442: pmap: Avoid clearing the accessed bit for wired mappings.

@alc did you have any thoughts on this patch?

Mon, Jun 16, 3:07 PM
markj requested review of D50877: vm_page: Fix nofree page accounting.
Mon, Jun 16, 3:00 PM
markj added inline comments to D50807: bhyve: scan PCI device ID to properly set BDSM address.
Mon, Jun 16, 2:51 PM
markj added inline comments to D50806: bhyve: add PCI IDs of Intel GPUs from Linux v6.15.
Mon, Jun 16, 2:30 PM
markj committed rGee609560ad2a: ptrace: Rename the internal command range constants (authored by markj).
ptrace: Rename the internal command range constants
Mon, Jun 16, 1:23 PM
markj closed D50866: ptrace: Rename the internal command range.
Mon, Jun 16, 1:22 PM
markj planned changes to D50825: libexec/kgdb: Add a new VNET function and add more scaffolding.

Thanks, the vnet function is indeed too simplistic. I believe, though I'm not totally certain, that I'll need to modify link_elf_obj.c a bit to preserve the original base address for the VNET variable section. Otherwise the debugger doesn't have a good way to figure out which VNET section a given variable belongs to. I have some WIP to address this but I need a bit of time.

Mon, Jun 16, 1:16 PM
markj accepted D50846: ethernet: Set maximum Ethernet header length based on the capability IFCAP_VLAN_MTU.
Mon, Jun 16, 1:13 PM
markj accepted D50845: exterr: convert SET_ERRORX() to pseudo-variadic EXTERROR().
Mon, Jun 16, 12:47 PM
markj requested review of D50866: ptrace: Rename the internal command range.
Mon, Jun 16, 1:54 AM
markj committed rG18117f3f1269: Obsoletefiles.inc: Correct paths for some man pages (authored by markj).
Obsoletefiles.inc: Correct paths for some man pages
Mon, Jun 16, 12:54 AM

Sat, Jun 14

markj added inline comments to D50854: tracing.7: Add a single reference point for tracing facilities in FreeBSD.
Sat, Jun 14, 8:35 PM
markj added inline comments to D50854: tracing.7: Add a single reference point for tracing facilities in FreeBSD.
Sat, Jun 14, 5:49 PM
markj accepted D50852: dtrace.1: Mention providers in SEE ALSO.

Thanks.

Sat, Jun 14, 5:27 PM
markj committed rGf3c25bf955d5: pf: Fix the prototype for pf_match_rule() (authored by markj).
pf: Fix the prototype for pf_match_rule()
Sat, Jun 14, 12:47 PM
markj added a comment to D50825: libexec/kgdb: Add a new VNET function and add more scaffolding.
In D50825#1160523, @kp wrote:

While testing I found that this has issues with vnet variables in kernel modules.

For a test I added a panic() call in pf_test(), and tried to print V_pf_status.

The kernel and module were loaded at:

0xffffffff80200000  217bc18 kernel
0xffffffff836dd000    52b48 pf.ko

The kernel shows these addresses:

curvnet 0xfffff804a6a76bc0
curvnet->vnet_data_base 0xfffffe02c7d4aa20
&VNET_NAME(pf_status) 0xffffffff81b8fac8
&V_pf_status = 0xfffffe02498da4e8

Debugging the vnet.py script I found that it had the correct vnet: 0xfffff804a6a76bc0, and the correct vnet_data_base 0xfffffe02c7d4aa20, but it thought that the address of vnet_entry_pf_status (== &VNET_NAME(pf_status)) was 0xffffffff8372c390.

It looks like the vnet,py code thinks the pf.ko vnet variables live in the module's address range, while the kernel actually puts those in the kernel's vnet address range. I'm not sure how we can teach vnet.py to get the correct address for kernel module vnet variables.

Sat, Jun 14, 12:35 PM
OSZAR »