Page MenuHomeFreeBSD

olce (Olivier Certner)
User

Projects

User Details

User Since
Feb 26 2021, 3:47 PM (167 w, 5 h)

Recent Activity

Yesterday

olce committed rG8c308a22e759: sched: Simplify sched_lend_user_prio_cond() (authored by olce).
sched: Simplify sched_lend_user_prio_cond()
Thu, May 9, 1:30 PM
olce committed rGba2c48a7f21e: PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock (authored by olce).
PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock
Thu, May 9, 1:30 PM
olce committed rGf5a145cb0a5f: PP mutexes: lock: Check if priority is too high against base one (authored by olce).
PP mutexes: lock: Check if priority is too high against base one
Thu, May 9, 1:30 PM
olce committed rGb94acafdbcc7: PP mutexes: unlock: Reset inherited prio regardless of privileges (authored by olce).
PP mutexes: unlock: Reset inherited prio regardless of privileges
Thu, May 9, 1:30 PM
olce committed rGb8b729e23cb9: sched: Simplify sched_lend_user_prio_cond() (authored by olce).
sched: Simplify sched_lend_user_prio_cond()
Thu, May 9, 1:28 PM
olce committed rGce7dc52f07d0: PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock (authored by olce).
PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock
Thu, May 9, 1:28 PM
olce committed rGf9e9c02241dc: PP mutexes: lock: Check if priority is too high against base one (authored by olce).
PP mutexes: lock: Check if priority is too high against base one
Thu, May 9, 1:27 PM
olce committed rGeded8fea5c3a: PP mutexes: unlock: Reset inherited prio regardless of privileges (authored by olce).
PP mutexes: unlock: Reset inherited prio regardless of privileges
Thu, May 9, 1:27 PM
olce committed rG2beba7b456e6: Remove remnants of portsnap(8) (authored by olce).
Remove remnants of portsnap(8)
Thu, May 9, 8:20 AM
olce committed rG9f06e6c9907a: Remove remnants of portsnap(8) (authored by olce).
Remove remnants of portsnap(8)
Thu, May 9, 6:54 AM

Wed, May 8

olce committed rG54bbcc09a72b: ObsoleteFiles.inc: Remove /var/db/portsnap (authored by olce).
ObsoleteFiles.inc: Remove /var/db/portsnap
Wed, May 8, 6:40 AM

Tue, Apr 30

olce committed rG9b30b96c1fa4: Remove remnants of portsnap(8) (authored by olce).
Remove remnants of portsnap(8)
Tue, Apr 30, 1:46 PM
olce closed D45023: Remove remnants of portsnap(8).
Tue, Apr 30, 1:45 PM
olce requested review of D45023: Remove remnants of portsnap(8).
Tue, Apr 30, 1:24 AM
olce closed D44170: kern/openzfs: Apply the essential part of FreeBSD-EN-23:18.openzfs. (stable/13).

Closing, since superseded by an upstream fix.

Tue, Apr 30, 12:43 AM

Mon, Apr 29

olce committed rGeb07a26af199: sys_procctl(): Make it clear that negative commands are invalid (authored by olce).
sys_procctl(): Make it clear that negative commands are invalid
Mon, Apr 29, 5:34 AM
olce committed rG3e4989127020: sys_procctl(): Make it clear that negative commands are invalid (authored by olce).
sys_procctl(): Make it clear that negative commands are invalid
Mon, Apr 29, 2:50 AM

Sat, Apr 27

olce added a comment to D33233: sync.8: Document that the "sync dance" is not a thing.
In D33233#1025445, @imp wrote:

There's almost no difference between sync; shutdown and just shutdow other than more typing. The latter does a sync first thing anyway (in the system call) so you may start the io a smidgen earlier with the former... but sync doesn't guarantee the io will be done before shutdown starts... so even doing them on sepatate lines might only gain you the time it takes you to type shutdown at the expense of typing 5 extra characters.

Sat, Apr 27, 2:23 PM
olce added a comment to D33233: sync.8: Document that the "sync dance" is not a thing.
In D33233#1025440, @imp wrote:

Since reboot and shutdown system calls were added just after v7, the sync 3 times dance is a placebo. It was marginally useful on v7 before powering off. It's existed in lore as being necessary when it hasn't been. And since all it does is schedule IO you can't use it to know data is on the disk.

Sat, Apr 27, 2:35 AM
olce added a comment to D33233: sync.8: Document that the "sync dance" is not a thing.

Late to the party, but I find this passage rather obscure:

It replaced the one per line sync as a substitute for waiting.

What does that refer to exactly? To typing only a single sync, as evoked in the previous paragraph ("The shutdown procedure involved running...")?
If yes, I would suggest replacing the whole paragraph:

Typing sync three times (one line each) was a placebo that would generally suffice in 7th edition machines that were otherwise quiesced system. It replaced the one per line sync as a substitute for waiting.

with something like:
"""
Typing sync three times (one line each) would generally suffice in 7th edition machines that were otherwise quiesced system for all dirty buffers to reach the disks. This placebo procedure was in effect just a substitute for waiting.
"""
Or did you mean something else?

Sat, Apr 27, 2:01 AM

Thu, Apr 25

olce accepted D44927: kthread: Set *tdptr earlier in kproc_kthread_add().

I don't see any more path where the pointer to the new struct thread won't be initialized before the new thread is started, so I think this completely fixes the initial problem. Moreover, there most probably won't be any noticeable performance impact, since kproc_create() in the end calls fork1() with RFSTOPPED, so the only difference is now that the new process will be released only very slightly later.

Thu, Apr 25, 1:01 PM

Tue, Apr 23

olce added a comment to D44906: nfs: Default to nfs_reserved_port_only="YES".

Oh hmm, not unrelated, but at a glance I think it is superseded by the privport check. That is, all code paths which lead there first have to go through the privport check. But I could be wrong about this.

Tue, Apr 23, 1:38 AM
olce added a comment to D44906: nfs: Default to nfs_reserved_port_only="YES".

There's also NFS_REQRSVPORT, but it is unrelated I guess?

Tue, Apr 23, 1:22 AM

Sun, Apr 21

olce removed 1 blocking reviewer(s) for D44867: Add pthread_sigqueue(3): olce.
Sun, Apr 21, 1:22 PM
olce added a comment to D44867: Add pthread_sigqueue(3).
In D44867#1022984, @kib wrote:

Having one (or more) syscalls that differ only in small semantic details makes the overall kernel/user interface much more hard to grasp.

Sun, Apr 21, 1:20 PM
olce accepted D44788: unionfs_rename: fix numerous locking issues.

I don't think that, as it stands, the changes here now introduce new LORs or additional recursion, so good to go.

Sun, Apr 21, 12:52 PM

Fri, Apr 19

olce added a comment to D44867: Add pthread_sigqueue(3).
In D44867#1022914, @kib wrote:

This review adds pthread_sigqueue(3) as requested. Right now it is not tested and unfinished: it lacks man pages update and test case, which I add after the issue below is discussed.

As usual, I prefer not to add a new syscall that only differs a small bit from sigqueue(2), where we need to be able to directly designate a thread in the current process. One option is to silently allow to pass tids from the current process, but since one of the supported use cases for sigqueue(2) seems to be a process liveness check for sig=0 (same as for kill(2)), I decided not to. Instead, two high bits in the signum are carved for flags, one meaning the tid from curproc is allowed, and the other is reserved for future. This still gives small ABI incompatibility, but the typical wrong use of signum by passing large invalid signal numbers should be still catched.

Fri, Apr 19, 4:10 PM
olce added a comment to D44788: unionfs_rename: fix numerous locking issues.
In D44788#1022769, @jah wrote:
  • Fix fdvp lock recursion during file copy-up; use ERELOOKUP to simplify
Fri, Apr 19, 3:28 PM

Tue, Apr 16

olce added inline comments to D44788: unionfs_rename: fix numerous locking issues.
Tue, Apr 16, 9:29 AM

Mon, Apr 15

olce requested changes to D44788: unionfs_rename: fix numerous locking issues.

The main problem that I see with these changes is that they lead to dropping support for FSes with non-recursive locking (see some of the inline comments). I think there are also some minor problems in the locking/relookup logic (see the inline comments as well).

Mon, Apr 15, 5:26 PM

Fri, Apr 12

olce accepted D44752: defaults/rc.conf: Remove /usr/lib32 from ldconfig32_paths.
Fri, Apr 12, 3:06 PM
olce accepted D44751: rc.d/ldconfig: Compute ldconfig paths in a function.
Fri, Apr 12, 3:04 PM
olce committed rG330954bdb822: Unify arc_prune_async() code, fix excessive ARC pruning (authored by mav).
Unify arc_prune_async() code, fix excessive ARC pruning
Fri, Apr 12, 1:01 PM

Thu, Apr 11

olce added a comment to D44170: kern/openzfs: Apply the essential part of FreeBSD-EN-23:18.openzfs. (stable/13).

Going to be superseded by a backport of FreeBSD-EN-23:18.openzfs to OpenZFS 2.1.x and FreeBSD's stable/13.

Thu, Apr 11, 9:59 PM
olce added a reviewer for D44176: kern/openzfs: Regulate the ZFS ARC pruning process precisely. (releng/13.2): olce.
Thu, Apr 11, 9:55 PM
olce added a reviewer for D44175: kern/openzfs: Regulate the ZFS ARC pruning process precisely. (stable/13): olce.
Thu, Apr 11, 9:54 PM
olce added a reviewer for D44174: kern/openzfs: Regulate the ZFS ARC pruning process precisely. (stable/14): olce.
Thu, Apr 11, 9:54 PM
olce added a reviewer for D44173: kern/openzfs: Regulate the ZFS ARC pruning process precisely.: olce.
Thu, Apr 11, 9:54 PM
olce added a reviewer for D44172: kern/vfs: Add the per-filesystem vnode counter to struct mount. (stable/13): olce.
Thu, Apr 11, 9:54 PM
olce added a reviewer for D44171: kern/vfs: Add the per-filesystem vnode counter to struct mount.: olce.
Thu, Apr 11, 9:54 PM

Apr 10 2024

olce committed rGafc10f8bba3d: sys_procctl(): Make it clear that negative commands are invalid (authored by olce).
sys_procctl(): Make it clear that negative commands are invalid
Apr 10 2024, 3:17 PM

Apr 9 2024

olce added a comment to D44170: kern/openzfs: Apply the essential part of FreeBSD-EN-23:18.openzfs. (stable/13).

Hi Seigo,

Apr 9 2024, 9:28 AM

Apr 8 2024

olce added a comment to D44581: Introduce a new kernel-only errno EUNSDEP for unsatisfied dependency.

@zlei: Responsed to your comment above in D44552. Thanks.

Apr 8 2024, 3:21 PM
olce added a comment to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.

Responding to your comment in D44581 here:

Apr 8 2024, 3:20 PM
olce added a comment to D44581: Introduce a new kernel-only errno EUNSDEP for unsatisfied dependency.
In D44581#1017675, @kib wrote:

I do not like it. Errno has the defined scope of providing the communication between kernel and userspace. Some of the 'out of band' values like ERESTART and EJUSTRETURN and valid extensions because they modify the kernel->user edge behavior, all other in the list are hacks.

Apr 8 2024, 2:51 PM

Apr 5 2024

olce accepted D44646: swap_pager: Unbusy readahead pages after an I/O error.
Apr 5 2024, 10:12 PM
olce added a comment to D44581: Introduce a new kernel-only errno EUNSDEP for unsatisfied dependency.
In D44581#1017709, @kib wrote:

There is a wart in ELF, called copy relocation. When a binary references data object defined in dso, static linker allocates the symbol in the binary and issues the copy relocation, to copy the content of the dso at this symbol to binary. The dso is resolved to reference the binary' object, not its own instance. This was done to emulate the semantic of the .a archives, as everything in ELF.

Apr 5 2024, 8:57 AM

Apr 4 2024

olce accepted D44638: stop_all_proc(): skip traced or signal-stoped processes.

I'm a priori OK with that as a stopgap measure, although I don't really know how still-running processes interact with the suspend/resume mechanism (which problems can this cause? I can imagine a bunch of them, but not sure if they are impacting).

Apr 4 2024, 8:33 PM
olce added a comment to D44581: Introduce a new kernel-only errno EUNSDEP for unsatisfied dependency.
In D44581#1017690, @kib wrote:

This is a no-starter at all. It would increase the sys_errlist[] size which is de-facto ABI break with all the consequeneces.

Apr 4 2024, 7:56 PM
olce accepted D44170: kern/openzfs: Apply the essential part of FreeBSD-EN-23:18.openzfs. (stable/13).

I agree with this simple, stopgap measure. It is indeed what FreeBSD-EN-23:18.openzfs achieves, in a much simpler way.

Apr 4 2024, 4:36 PM
olce added a comment to D44581: Introduce a new kernel-only errno EUNSDEP for unsatisfied dependency.

Is there any good reasons to keep in kernel only rather than making it a BSD extension, placing it a few lines above in the errno.h right under #ifndef _POSIX_SOURCE?It is a good error for kldload(1) to return to a user, as long as strerror() supports it.

Apr 4 2024, 4:28 PM
olce added a reviewer for D44170: kern/openzfs: Apply the essential part of FreeBSD-EN-23:18.openzfs. (stable/13): olce.
Apr 4 2024, 2:09 PM
olce added a comment to D44523: thread_single(9): decline external requests for traced or debugger-stopped procs.

Although I spent quite some time to understand the signal and ptrace machinery (earlier; I have spent some more for this review), I still don't understand it globally (and probably some details as well). I have a couple of remarks and questions that might improve our common understanding (at worst, hoping answers and info will at least improve mine).

Apr 4 2024, 9:16 AM

Apr 3 2024

olce added a comment to D44594: kern linker: Do not invoke event handlers for partially linked file.

Another option could be refactor linker_file_unload() into two functions. One for normal unload and another is for abnormal ones such as unloading partially linked file.
Almost all abnormal unload requires the flag LINKER_UNLOAD_FORCE and at that moment the reference count of file should be right one. The logic will be much clear.

Apr 3 2024, 1:58 PM
olce added a comment to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.

Rechecked this, CURRENT and stable/14 vfs_byname_kld() has translated error to ENODEV. As for stable/13 it will be leaked.

Apr 3 2024, 1:25 PM
olce removed a reviewer for D43997: build: Introduce MK_MSAN: olce.
Apr 3 2024, 10:01 AM
olce accepted D44601: unionfs_lookup(): fix wild accesses to vnode private data.

These changes plug holes indeed.

Apr 3 2024, 7:45 AM

Apr 2 2024

olce added a reviewer for D44594: kern linker: Do not invoke event handlers for partially linked file: olce.

Is it possible instead to reuse LINKER_FILE_LINKED, by setting this flag later in linker_load_file() (after the if (modules && TAILQ_EMPTY(&lf->modules))), and testing for it? This would also improve the behavior of linker_find_file_by_id() by preventing it from reporting a loaded module that is immediately unloaded by the just-mentioned if.

Apr 2 2024, 3:43 PM
olce requested changes to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.
Apr 2 2024, 8:12 AM
olce added a comment to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.

Move translating errno EUNSDEP from kern_kldload() to sys_kldload()

Apr 2 2024, 8:10 AM
olce accepted D44581: Introduce a new kernel-only errno EUNSDEP for unsatisfied dependency.
Apr 2 2024, 7:23 AM

Mar 29 2024

olce added inline comments to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.
Mar 29 2024, 4:39 PM
olce added inline comments to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.
Mar 29 2024, 4:32 PM
olce added inline comments to D44552: kern linker: Use EUNSDEP for unsatisfied dependencies.
Mar 29 2024, 10:15 AM
olce added a reviewer for D44552: kern linker: Use EUNSDEP for unsatisfied dependencies: olce.
Mar 29 2024, 9:57 AM

Mar 27 2024

olce accepted D44522: amd64: handle MXCSR from XSAVEOPT when x87 state was optimized.
Mar 27 2024, 5:11 PM
olce added inline comments to D44522: amd64: handle MXCSR from XSAVEOPT when x87 state was optimized.
Mar 27 2024, 4:22 PM

Mar 20 2024

olce accepted D44288: unionfs: implement VOP_UNP_* and remove special VSOCK vnode handling.
Mar 20 2024, 4:02 AM

Mar 16 2024

olce added a comment to D44288: unionfs: implement VOP_UNP_* and remove special VSOCK vnode handling.

Great! More cruft removed, including one call to unionfs_relookup(). I have a few suggestions.

Mar 16 2024, 10:22 AM
olce accepted D44377: syscalls.master: fix readv and writev iovp decl.
Mar 16 2024, 9:10 AM

Mar 12 2024

olce accepted D44311: sockets: remove unused KPIs to manipulate sockets.
Mar 12 2024, 10:27 AM

Feb 29 2024

olce accepted D44076: unionfs: accommodate underlying FS calls that may re-lock.

Thanks!

Feb 29 2024, 9:21 AM

Feb 28 2024

olce added a comment to D44101: Remove never used yield syscall.

That is technically true. It was exposed by abd529cebab9018d0fa9b328cdaaab3a51d87b44 so it was exposed for nearly 15 minutes. :)

Feb 28 2024, 6:09 PM
olce added a comment to D44076: unionfs: accommodate underlying FS calls that may re-lock.

I agree with your reasoning. Overall looks fine. Thanks! I have a couple of suggestions.

Feb 28 2024, 5:28 PM
olce added a comment to D44101: Remove never used yield syscall.
In D44101#1006706, @kib wrote:

Today, its implementation performs (almost) the same as the POSIX-specified sched_yield(), which should be used instead.

It is quite different from sched_yield(). yield() tries to keep thread off cpu as much as possible, while sched_yield() re-schedules immediately.

Feb 28 2024, 11:30 AM

Feb 27 2024

olce accepted D44101: Remove never used yield syscall.

It seems that a stub was exposed by libc up to 0db2fac06ab70163, unless this is an artifact of the svn or git import.

Feb 27 2024, 9:56 PM
olce committed rGfe5468bdf404: kern_racct.c: Don't compile if RACCT undefined (authored by olce).
kern_racct.c: Don't compile if RACCT undefined
Feb 27 2024, 10:43 AM
olce committed rGb689353a46b6: kern_rctl.c: Minimal includes when RCTL not defined (authored by olce).
kern_rctl.c: Minimal includes when RCTL not defined
Feb 27 2024, 10:43 AM
olce committed rG024284f3af0a: umtxvar.h: Add missing include (authored by olce).
umtxvar.h: Add missing include
Feb 27 2024, 10:43 AM
olce committed rG79a1410c0dcb: sched: sched_switch(): Factorize sleepqueue flags (authored by olce).
sched: sched_switch(): Factorize sleepqueue flags
Feb 27 2024, 10:43 AM
olce committed rGf54344ec12c8: kern_racct.c: Don't compile if RACCT undefined (authored by olce).
kern_racct.c: Don't compile if RACCT undefined
Feb 27 2024, 10:39 AM
olce committed rGe36cb22221e1: kern_rctl.c: Minimal includes when RCTL not defined (authored by olce).
kern_rctl.c: Minimal includes when RCTL not defined
Feb 27 2024, 10:39 AM
olce committed rGff7f93814c37: umtxvar.h: Add missing include (authored by olce).
umtxvar.h: Add missing include
Feb 27 2024, 10:39 AM
olce committed rGd3de30d0186b: sched: sched_switch(): Factorize sleepqueue flags (authored by olce).
sched: sched_switch(): Factorize sleepqueue flags
Feb 27 2024, 10:39 AM
olce committed rGaeff15b392e6: sched: Simplify sched_lend_user_prio_cond() (authored by olce).
sched: Simplify sched_lend_user_prio_cond()
Feb 27 2024, 9:01 AM
olce committed rG39e4665c9694: PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock (authored by olce).
PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock
Feb 27 2024, 9:01 AM
olce committed rG9ac3ac9ece62: PP mutexes: lock: Check if priority is too high against base one (authored by olce).
PP mutexes: lock: Check if priority is too high against base one
Feb 27 2024, 9:01 AM
olce committed rG1df8700aa6cf: PP mutexes: unlock: Reset inherited prio regardless of privileges (authored by olce).
PP mutexes: unlock: Reset inherited prio regardless of privileges
Feb 27 2024, 9:01 AM
olce closed D44050: sched: Simplify sched_lend_user_prio_cond().
Feb 27 2024, 9:01 AM
olce closed D44044: PP mutexes: lock: Check if priority is too high against base one.
Feb 27 2024, 9:00 AM
olce closed D44045: PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock.
Feb 27 2024, 9:00 AM
olce closed D43984: PP mutexes: unlock: Reset inherited prio regardless of privileges.
Feb 27 2024, 9:00 AM

Feb 24 2024

olce accepted D44047: uipc_bindat(): Explicitly specify exclusive locking for the new vnode.
Feb 24 2024, 4:58 PM
olce accepted D44046: vn_lock_pair(): only assert on lkflags1/lkflags2 vp1/vp2 is non-NULL.
Feb 24 2024, 4:57 PM

Feb 23 2024

olce requested review of D44050: sched: Simplify sched_lend_user_prio_cond().
Feb 23 2024, 9:42 PM
olce added inline comments to D44047: uipc_bindat(): Explicitly specify exclusive locking for the new vnode.
Feb 23 2024, 6:06 PM
olce requested review of D44044: PP mutexes: lock: Check if priority is too high against base one.
Feb 23 2024, 5:38 PM
olce requested review of D44045: PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock.
Feb 23 2024, 5:38 PM
olce retitled D43984: PP mutexes: unlock: Reset inherited prio regardless of privileges from do_unlock_pp(): Reset umtx_q's inherited prio regardless of privileges to PP mutexes: unlock: Reset inherited prio regardless of privileges.
Feb 23 2024, 5:37 PM

Feb 20 2024

olce requested review of D43984: PP mutexes: unlock: Reset inherited prio regardless of privileges.
Feb 20 2024, 2:19 PM