VOOZH about

URL: https://reviews.freebsd.org/p/kib/

⇱ ♟ kib


kib (Konstantin Belousov)
User

Projects

User Details

User Since
May 16 2014, 7:35 PM (621 w, 21 h)

Recent Activity

Yesterday

Report aboud pdwait(2) and pdrfork(2)
Report about amd64 FRED
kib updated the diff for D56220: Report about amd64 FRED.

Handle review.

kevent: do not check knote lists being empty before removing a knote
subr_early.c: cleanup includes

Thu, Apr 9

Can you explain why is it needed?

posix_spawn test: switch to POSIX spelling for addchdir and addfchdir
posix_spawn: actions chdir and fchdir are now required by POSIX
rtld: add test for dlopen("#dirfd/path")
rtld: allow dlopen("#<number>/<path>")
kqueue: assert that kqueue knote lists own the knotes

Wed, Apr 8

Might be point to the design documents we have somewhere else.

I only have one question, why this cmap needs to be per-cpu? I do not think that it is high-contention resource.

Dimitry, I am sorry, just committed a second before your approval.

lib/msun/aarch64: provide export file for arch-specific fenv methods
lib/msun: centralize addition of the arch-specific symbol map files

Ping? I want to fix this regression. If no feedback is provided, I plan to commit the change tomorrow.

As an afterthough, i.e. I suggest to commit this and then add my further modifications:

  1. we might check that clofd is indeed not a valid fd in the child
  2. (my personal request) we should check that each desired bit is set in pmask by individual ATF_REQUIRE statement. Due to the kyua 'features', tests are impossible to debug, so a failure there cannot be identified just by looking the the test output.

Tue, Apr 7

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.

Mon, Apr 6

The version that builds with TARGET=arm64

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

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

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.

posix_spawn_file_action_addopen.3: ignoring close failure is now approved
msun: remove requirement to have C99 inline semantic
msun/arm: convert fenv functions to proper linkage
msun/powerpc: convert fenv functions to proper linkage
msun/riscv: convert fenv functions to proper linkage
msun/aarch64: convert fenv functions to proper linkage
fenv.h: stop declaring feclearexcept() extern inline
msun/x86: convert rest of the extern inline fenv functions to proper linkage

Sun, Apr 5

posix_spawn.3: fix formatting of xref

Sat, Apr 4

procctl.2: remove space at EOL

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.

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.

Fri, Apr 3

posix_spawn test: switch to POSIX spelling for addchdir and addfchdir
posix_spawn_file_action_addopen.3: ignoring close failure is now approved
posix_spawn: actions chdir and fchdir are now required by POSIX
kib updated the diff for D56220: Report about amd64 FRED.

Sentence per line

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

Thu, Apr 2

kqueue_fork_copy_knote(): zero kn_knlist for the copy before calling knlist_add…
posix_spawn.3: fix formatting of xref
rtld: add test for dlopen("#dirfd/path")
rtld: allow dlopen("#<number>/<path>")
kqueue: assert that kqueue knote lists own the knotes
rtld: add a test for rtld_set_var (with LIBRARY_PATH_FDS)
amd64 sendsig(): explicitly copy registers from trapframe to ucontext
x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h
rtld: check for overflow in parse_integer()
rtld: properly handle update of several vars in rtld_set_var()
rtld_get_var(3): provide explicit list of rtld vars that can be modified

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.