Page MenuHomeFreeBSD

kib (Konstantin Belousov)
User

Projects

User Details

User Since
May 16 2014, 7:35 PM (620 w, 4 d)

Recent Activity

Yesterday

kib added a comment to D56022: libc: Remove redundant code in thread atexit code.
In D56022#1282431, @kib wrote:
In D56022#1281980, @kib wrote:

No. Perhaps it is simpler to show code than to try to explain it, See D56053.

The example you provided would not work with my patch, it requires increasing the CXA_DTORS_ITERATIONS. Not sure if we want this.

If it breaks the valid C++ code, we should rethink about it. The T value can be somehow greater than CXA_DTORS_ITERATIONS if the user wants.

I do not disagree but there are also some robustness requirements as part of the implementation quality. So I am unsire, this is why I initially said that 'I am on edge' proposing this. Hanging in the system state (thread exiting) due to user bug is not robust.

That said, your patch should remove walk_cb_nocall(). And perhaps cxa_thread_walk() could drop the argument, simply inlining walk_cb_call.

I see, I think we can leave this patch in here before we get better conclusion. I run the test code on a Linux machine and it died immediately if we have infinity loop in thread local destructor. It seems that glibc also don't handle that case.

Tue, Apr 7, 2:44 PM
kib added reviewers for D56283: lib/msun: export arch-specific fenv methods: emaste, dim.
Tue, Apr 7, 2:00 PM
kib added a comment to D56283: lib/msun: export arch-specific fenv methods.

Pass tinderbox.

Tue, Apr 7, 2:00 PM

Mon, Apr 6

kib updated the diff for D56283: lib/msun: export arch-specific fenv methods.

The version that builds with TARGET=arm64

Mon, Apr 6, 7:29 PM
kib updated the diff for D56283: lib/msun: export arch-specific fenv methods.

Provide actual implementation for fegetenv, feenableexcept, fedisableexcept on aarch64.

Mon, Apr 6, 5:58 PM
kib updated the diff for D56283: lib/msun: export arch-specific fenv methods.

Remove conditional include of the arch symbol map. All arches provide it, after the patch.

Mon, Apr 6, 5:41 PM
kib requested review of D56283: lib/msun: export arch-specific fenv methods.
Mon, Apr 6, 5:37 PM
kib accepted D56223: tests: kqueue: add a basic test for CPONFORK.
Mon, Apr 6, 7:06 AM
kib accepted D56234: vm_fault: Reset m_needs_zeroing in vm_fault_busy_sleep().

This is probably fine, but then resetting m_needs_zeroing seems to be somewhat unneeded. I started thinking that m_needs_zeroing should be removed, and when we find an invalid page on the shadowing object queue, we need to zero it immediately.

Mon, Apr 6, 7:05 AM
kib committed rG77e5da38bf45: posix_spawn_file_action_addopen.3: ignoring close failure is now approved (authored by kib).
posix_spawn_file_action_addopen.3: ignoring close failure is now approved
Mon, Apr 6, 6:56 AM
kib committed rG081f52a44191: msun: remove requirement to have C99 inline semantic (authored by kib).
msun: remove requirement to have C99 inline semantic
Mon, Apr 6, 6:56 AM
kib committed rGfaca80fb6688: msun/arm: convert fenv functions to proper linkage (authored by kib).
msun/arm: convert fenv functions to proper linkage
Mon, Apr 6, 6:56 AM
kib committed rG2d81a953ca54: msun/powerpc: convert fenv functions to proper linkage (authored by kib).
msun/powerpc: convert fenv functions to proper linkage
Mon, Apr 6, 6:56 AM
kib committed rGf13155c57c1f: msun/riscv: convert fenv functions to proper linkage (authored by kib).
msun/riscv: convert fenv functions to proper linkage
Mon, Apr 6, 6:56 AM
kib committed rG492843d5269f: msun/aarch64: convert fenv functions to proper linkage (authored by kib).
msun/aarch64: convert fenv functions to proper linkage
Mon, Apr 6, 6:56 AM
kib committed rG9687de5aac95: fenv.h: stop declaring feclearexcept() extern inline (authored by kib).
fenv.h: stop declaring feclearexcept() extern inline
Mon, Apr 6, 6:56 AM
kib committed rG60b5183a76a1: msun/x86: convert rest of the extern inline fenv functions to proper linkage (authored by kib).
msun/x86: convert rest of the extern inline fenv functions to proper linkage
Mon, Apr 6, 6:56 AM

Sun, Apr 5

kib added inline comments to D56223: tests: kqueue: add a basic test for CPONFORK.
Sun, Apr 5, 7:17 PM
kib accepted D55912: net: Add page/bank fields to ifi2cre; update mce(4) to use them.

You mean as a later, separate project, correct?

Sun, Apr 5, 9:10 AM
kib committed rGa849cbe74bec: posix_spawn.3: fix formatting of xref (authored by kib).
posix_spawn.3: fix formatting of xref
Sun, Apr 5, 12:25 AM

Sat, Apr 4

kib accepted D56234: vm_fault: Reset m_needs_zeroing in vm_fault_busy_sleep().
Sat, Apr 4, 10:47 AM
kib added a comment to D55912: net: Add page/bank fields to ifi2cre; update mce(4) to use them.

Sorry for the late reply.

Sat, Apr 4, 9:27 AM
kib committed rG982b3c5565ff: procctl.2: remove space at EOL (authored by kib).
procctl.2: remove space at EOL
Sat, Apr 4, 6:32 AM
kib added a comment to D56234: vm_fault: Reset m_needs_zeroing in vm_fault_busy_sleep().

The mere fact that we slept on the page somewhere in the shadow hierarchy does not mean that first_m should be zeroed.
But, if we go this route, then IMO m_needs_zero should be reset to true right at the RetryFault, and be done with it.

Sat, Apr 4, 4:14 AM
kib added a comment to D56223: tests: kqueue: add a basic test for CPONFORK.

Hmm, The second kqueue might not be as useful as I've thought. It doesn't mean much because the filter needs to resolve the fd first, which will EBADF early.

Sat, Apr 4, 3:45 AM

Fri, Apr 3

kib committed rGe56858f05fd7: posix_spawn test: switch to POSIX spelling for addchdir and addfchdir (authored by kib).
posix_spawn test: switch to POSIX spelling for addchdir and addfchdir
Fri, Apr 3, 8:24 AM
kib committed rGb7b485efac8c: posix_spawn_file_action_addopen.3: ignoring close failure is now approved (authored by kib).
posix_spawn_file_action_addopen.3: ignoring close failure is now approved
Fri, Apr 3, 8:24 AM
kib committed rG7caa71145c5e: posix_spawn: actions chdir and fchdir are now required by POSIX (authored by kib).
posix_spawn: actions chdir and fchdir are now required by POSIX
Fri, Apr 3, 8:23 AM
kib closed D56222: Update posix_spawn for POSIX 2024.
Fri, Apr 3, 8:23 AM
kib accepted D56226: kqueue: slightly clarify the flow in knlist_cleardel().
Fri, Apr 3, 4:57 AM
kib accepted D56223: tests: kqueue: add a basic test for CPONFORK.
Fri, Apr 3, 4:56 AM
kib added inline comments to D56223: tests: kqueue: add a basic test for CPONFORK.
Fri, Apr 3, 4:05 AM
kib added inline comments to D56226: kqueue: slightly clarify the flow in knlist_cleardel().
Fri, Apr 3, 3:19 AM
kib added inline comments to D56223: tests: kqueue: add a basic test for CPONFORK.
Fri, Apr 3, 3:15 AM
kib updated the diff for D56220: Report about amd64 FRED.

Sentence per line

Fri, Apr 3, 3:11 AM
kib updated the diff for D56221: Report aboud pdwait(2) and pdrfork(2).

Sentence per line

Fri, Apr 3, 3:10 AM
kib updated the diff for D56222: Update posix_spawn for POSIX 2024.

Fix manpage.
Switch test to use non-_np names.

Fri, Apr 3, 3:05 AM

Thu, Apr 2

kib added inline comments to D56223: tests: kqueue: add a basic test for CPONFORK.
Thu, Apr 2, 1:34 PM
kib committed rGaab1ef4527f1: kqueue_fork_copy_knote(): zero kn_knlist for the copy before calling knlist_add… (authored by kib).
kqueue_fork_copy_knote(): zero kn_knlist for the copy before calling knlist_add…
Thu, Apr 2, 1:27 PM
kib requested review of D56222: Update posix_spawn for POSIX 2024.
Thu, Apr 2, 8:12 AM
kib committed rG59e9a4c05a81: posix_spawn.3: fix formatting of xref (authored by kib).
posix_spawn.3: fix formatting of xref
Thu, Apr 2, 7:43 AM
kib requested review of D56221: Report aboud pdwait(2) and pdrfork(2).
Thu, Apr 2, 5:41 AM
kib requested review of D56220: Report about amd64 FRED.
Thu, Apr 2, 5:39 AM
kib added inline comments to D56212: kqueue: assert that kqueue knote lists own the knotes.
Thu, Apr 2, 4:38 AM
kib added inline comments to D56212: kqueue: assert that kqueue knote lists own the knotes.
Thu, Apr 2, 4:22 AM
kib committed rG72252591ac01: rtld: add test for dlopen("#dirfd/path") (authored by kib).
rtld: add test for dlopen("#dirfd/path")
Thu, Apr 2, 2:42 AM
kib committed rGffbf3fecdeff: rtld: allow dlopen("#<number>/<path>") (authored by kib).
rtld: allow dlopen("#<number>/<path>")
Thu, Apr 2, 2:42 AM
kib closed D56152: rtld: allow dlopen("#<number>/<path>").
Thu, Apr 2, 2:42 AM
kib committed rG51db69c14fb1: kqueue: assert that kqueue knote lists own the knotes (authored by kib).
kqueue: assert that kqueue knote lists own the knotes
Thu, Apr 2, 2:41 AM
kib closed D56212: kqueue: assert that kqueue knote lists own the knotes.
Thu, Apr 2, 2:41 AM
kib committed rGa91b30766883: rtld: add a test for rtld_set_var (with LIBRARY_PATH_FDS) (authored by iwtcex_gmail.com).
rtld: add a test for rtld_set_var (with LIBRARY_PATH_FDS)
Thu, Apr 2, 2:18 AM
kib committed rGde344ffd0ace: amd64 sendsig(): explicitly copy registers from trapframe to ucontext (authored by kib).
amd64 sendsig(): explicitly copy registers from trapframe to ucontext
Thu, Apr 2, 2:18 AM
kib committed rG5002c46b75f1: x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h (authored by kib).
x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h
Thu, Apr 2, 2:18 AM
kib committed rG60b2eb959e8c: rtld: check for overflow in parse_integer() (authored by kib).
rtld: check for overflow in parse_integer()
Thu, Apr 2, 2:17 AM
kib committed rG1e4debcf698f: rtld: properly handle update of several vars in rtld_set_var() (authored by kib).
rtld: properly handle update of several vars in rtld_set_var()
Thu, Apr 2, 2:17 AM
kib committed rGa2707106b094: rtld_get_var(3): provide explicit list of rtld vars that can be modified (authored by kib).
rtld_get_var(3): provide explicit list of rtld vars that can be modified
Thu, Apr 2, 2:17 AM

Wed, Apr 1

kib retitled D56212: kqueue: assert that kqueue knote lists own the knotes from kern/kern_event.c: assert that kqueue knote lists own the knotes to kqueue: assert that kqueue knote lists own the knotes.
Wed, Apr 1, 10:15 AM
kib added inline comments to D56212: kqueue: assert that kqueue knote lists own the knotes.
Wed, Apr 1, 10:15 AM
kib added inline comments to D56212: kqueue: assert that kqueue knote lists own the knotes.
Wed, Apr 1, 5:26 AM
kib added inline comments to D56212: kqueue: assert that kqueue knote lists own the knotes.
Wed, Apr 1, 4:30 AM
kib requested review of D56212: kqueue: assert that kqueue knote lists own the knotes.
Wed, Apr 1, 3:32 AM
kib accepted D56210: kqueue: simplify knote_fdclose() and avoid a possible fork-deadlock.

I think that kqueue_fork_copy() should be committed separately (no need for the new review, I am only asking for splitting the commit).

Wed, Apr 1, 3:30 AM
kib accepted D56211: kqueue: add some kn_knlist assertions around knlist_(add|remove).
Wed, Apr 1, 3:21 AM
kib accepted D56209: kqueue: compare against the size in kqueue_expand.
Wed, Apr 1, 3:20 AM
kib accepted D56185: pmap: Do not use PMAP_LOCK_INIT with kernel_pmap.
Wed, Apr 1, 2:09 AM

Tue, Mar 31

kib updated the diff for D55829: amd64: FRED support.

Today snapshot.

Tue, Mar 31, 6:36 AM
kib added a comment to D56165: mount_fusefs: Implement the fusermount functionality.

As was discussed elsewhere, fuse server which times out the responses could cause lock cascades in VFS. This would have global consequences for the whole system.

Tue, Mar 31, 5:04 AM
kib committed rG360ff2ca4710: dup(2): document the handling of filedescriptor flags (authored by kib).
dup(2): document the handling of filedescriptor flags
Tue, Mar 31, 4:08 AM

Mon, Mar 30

kib committed rGd15733065c42: msun: remove requirement to have C99 inline semantic (authored by kib).
msun: remove requirement to have C99 inline semantic
Mon, Mar 30, 5:17 PM
kib committed rG70674434e242: msun/arm: convert fenv functions to proper linkage (authored by kib).
msun/arm: convert fenv functions to proper linkage
Mon, Mar 30, 5:17 PM
kib committed rGe4505a58a77f: msun/powerpc: convert fenv functions to proper linkage (authored by kib).
msun/powerpc: convert fenv functions to proper linkage
Mon, Mar 30, 5:17 PM
kib committed rG6b89f5360f84: msun/riscv: convert fenv functions to proper linkage (authored by kib).
msun/riscv: convert fenv functions to proper linkage
Mon, Mar 30, 5:17 PM
kib committed rG3a01e1e1a50c: msun/aarch64: convert fenv functions to proper linkage (authored by kib).
msun/aarch64: convert fenv functions to proper linkage
Mon, Mar 30, 5:16 PM
kib committed rG5bc64b7d417d: msun/x86: convert rest of the extern inline fenv functions to proper linkage (authored by kib).
msun/x86: convert rest of the extern inline fenv functions to proper linkage
Mon, Mar 30, 5:16 PM
kib closed D56139: msun: provide external linkage for all fenv.h functions.
Mon, Mar 30, 5:16 PM
kib closed D56151: rtld: check for overflow in parse_integer().
Mon, Mar 30, 5:16 PM
kib committed rG7cfffe25da3f: rtld: check for overflow in parse_integer() (authored by kib).
rtld: check for overflow in parse_integer()
Mon, Mar 30, 5:16 PM
kib updated the diff for D56152: rtld: allow dlopen("#<number>/<path>").

Move checks into try_fds_open().
Use strchr.
Drop O_EMPTY_PATH.
Do name++ early.
Grammar fix in the man page.

Mon, Mar 30, 5:14 PM
kib updated the diff for D56152: rtld: allow dlopen("#<number>/<path>").

Man page editing.

Mon, Mar 30, 12:33 PM
kib added a comment to D56152: rtld: allow dlopen("#<number>/<path>").

Why introduce this special syntax instead of adding a new function fdlopenat(<fd>, <rel path>, <flags>)?

To complement the output from dlinfo(), as I noted in the summary. We record the name of the object opened through LD_LIBRARY_PATH_FDS in this format. I wanted to make it possible to use the info output directly without user code needing to understand the special case.

Mon, Mar 30, 12:32 PM
kib updated the diff for D56151: rtld: check for overflow in parse_integer().

Take Dimitry suggestion.

Mon, Mar 30, 12:19 PM
kib added inline comments to D56142: vm_swapout: Restore handling of RLIMIT_RSS.
Mon, Mar 30, 6:46 AM
kib added a comment to D56139: msun: provide external linkage for all fenv.h functions.

The status of fegetexcept, feenableexcept, and fedisableexcept and their relationship to __BSD_VISIBLE seems to be rather variable. Some of that variability may be incorrect and other parts expected. I just note the variability itself. A quick look seemed to show:

aarch64/fenv.c does not provide any external/exportable definitions for those.
aarch64/fenv.h has just __BSD_VISIBLE conditional __fenv_static based definitions, nothing for external/exportable support.

arm/fenv.c has definitions not conditional on __BSD_VISIBLE. fegetexcept is exported, unlike for the others. There is no use of weak references.
arm/fenv.h has __BSD_VISIBLE conditional external/exportable-supported based code, including for fegetexcept.
arm/fenv.h has fegetexcept for __ARM_PCS_VFP both inside and outside __BSD_VISIBLE.

powerpc/fenv.h has feenableexcept and fedisableexcept set up for exportable and conditional on __BSD_VISIBLE but fegetexcept is just for the __fenv_static definition.
powerpc/fenv.c has unconditional feenableexcept and fedisableexcept and no fegetexcept. Thre is no use of weak references.

riscv is like powerpc.

x86/fenv.h has the __BSD_VISIBLE conditionality but does not have static implementations of feenableexcept and fedisableexcept.
i387/fenv.c has unconditional feenableexcept and fedisableexcept with weak reference indicated and does not have fegetexcept.
amd64/fenv.c does that as well.

Mon, Mar 30, 2:28 AM
kib added a comment to D56143: man9: Add a manual page for pmap_active_cpus(9).

This should be not a note, but a proper explanation. Besides talking about that, it might be useful to explain how to get the stable results.

Mon, Mar 30, 2:25 AM · manpages
kib updated the diff for D56152: rtld: allow dlopen("#<number>/<path>").

Add documentation and test.

Mon, Mar 30, 12:49 AM

Sun, Mar 29

kib accepted D56108: vfs: Simplify vfs_write_resume()/vn_start_write_refed().
Sun, Mar 29, 11:42 PM
kib requested review of D56152: rtld: allow dlopen("#<number>/<path>").
Sun, Mar 29, 11:11 PM
kib requested review of D56151: rtld: check for overflow in parse_integer().
Sun, Mar 29, 11:09 PM
kib added a comment to D56143: man9: Add a manual page for pmap_active_cpus(9).

Also it probably worth explaining what 'active' means.

Sun, Mar 29, 9:47 AM · manpages
kib added a comment to D56143: man9: Add a manual page for pmap_active_cpus(9).

The result of the call is invalid the moment the function returns. If this one-line manual page ever makes sense, it must describe how to use the result safely.

Sun, Mar 29, 9:40 AM · manpages
kib committed rG7d1285e904aa: amd64 sendsig(): explicitly copy registers from trapframe to ucontext (authored by kib).
amd64 sendsig(): explicitly copy registers from trapframe to ucontext
Sun, Mar 29, 9:05 AM
kib closed D56141: amd64 sendsig(): explicitly copy registers from trapframe to ucontext.
Sun, Mar 29, 9:04 AM
kib accepted D56142: vm_swapout: Restore handling of RLIMIT_RSS.
Sun, Mar 29, 9:03 AM
kib requested review of D56141: amd64 sendsig(): explicitly copy registers from trapframe to ucontext.
Sun, Mar 29, 8:10 AM
kib accepted D56140: vm_swapout: Remove a special case from vm_swapout_map_deactivate_pages().
Sun, Mar 29, 7:50 AM
kib updated the diff for D56053: cxa_thread_call_dtors(): restore limit on the number of destructors called.

Initialize cnt

Sun, Mar 29, 7:48 AM
kib requested review of D56139: msun: provide external linkage for all fenv.h functions.
Sun, Mar 29, 4:21 AM

Sat, Mar 28

kib added a comment to D21206: libc: add fdwalk.
In D21206#1283986, @kib wrote:

Was it tested with compat32?

Looking at it anew, I do not like that the kernel private implementation type NDSLOTTYPE leaks to userspace, even if internally to libc.

Fair enough, how about I add a fixed width type bitmap and kind of abstract it away a level to knock out both points?

Sat, Mar 28, 11:18 PM
kib added a comment to D21206: libc: add fdwalk.

Was it tested with compat32?

Sat, Mar 28, 10:14 PM
kib committed rG6cc99baea607: dup(2): document the handling of filedescriptor flags (authored by kib).
dup(2): document the handling of filedescriptor flags
Sat, Mar 28, 9:10 AM