• Dominik Inführ's avatar
    Reland "[test] Avoid disabling of RCS during runtime" · b8146576
    Dominik Inführ authored
    This is a reland of 11045926
    
    The first version of this CL uncovered a TSAN failure when not disabling
    RCS anymore. The problem was that a background thread was still updating
    RCS counters, while the main thread already dumped those values during
    tear down. This CL fixes this by dumping counters only after all
    background threads are stopped.
    
    Original change's description:
    > [test] Avoid disabling of RCS during runtime
    >
    > Test was flaky since disabling of RCS at runtime is unsafe. Some code
    > (e.g. TRACE_GC) is run only in case RCS is enabled and such code paths
    > might also DCHECK that RCS is enabled.
    > A background thread (sweeping in this case) could've already
    > entered such a code path right before RCS is disabled. In this case the
    > guard at the entry still saw that RCS is enabled but subsequent DCHECKs
    > that ensure that RCS is enabled might fail.
    >
    > We could fix this by completing the sweeper tasks before disabling RCS
    > but there might be other similar tasks which might be run at that point
    > in the future (e.g. memory unmapper).
    >
    > Disabling the flag doesn't even seem to be needed for the initial
    > regression test, so it seems simpler to just not disable RCS anymore.
    >
    > Bug: v8:12026
    > Change-Id: I878f7dd9a7a4abb6a501f7a7651a1240ef2082a6
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162043
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#76845}
    
    Bug: v8:12026, v8:12234
    Change-Id: I5cb577051d188d17b02ca7da79a3f1d9aa646cae
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162050
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76859}
    b8146576
Name
Last commit
Last update
.github Loading commit data...
bazel Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.bazelrc Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.mailmap Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LOONG_OWNERS Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...