Skip to content

Conversation

@cshung
Copy link
Contributor

@cshung cshung commented Sep 13, 2022

There are a few issues I introduced in #74625, and this PR is meant to fix them.

Without fixing these issues, the most common symptom is that because we are reading the special_sweep_p flag in an arbitrary heap that reaches the join to decide whether or not we will compact, we might be compacting while some other heaps demand the special sweep, leading to missing regions when we thread_final_regions, having the same consequence as in #74401. There could be other bugs as well (e.g. special_sweep_p was not reset before make_phase begins, ...)

Here are all the changes:

  • Make sure I initialize special_sweep_p to false for each heap before mark_phase starts.
  • Make sure we perform the special sweep whenever any request for it.
  • Make sure special_sweep_p for all heaps agree after joining for compaction decision.
  • Make special_sweep_p a USE_REGIONS specific field.

@cshung cshung self-assigned this Sep 13, 2022
@ghost
Copy link

ghost commented Sep 13, 2022

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Issue Details

TODO

Author: cshung
Assignees: cshung
Labels:

area-GC-coreclr

Milestone: -

@cshung cshung changed the title [WIP] Join the special sweep decision Join the special sweep decision Sep 15, 2022
@cshung
Copy link
Contributor Author

cshung commented Sep 20, 2022

#ifndef USE_REGIONS

Let's not do not regions


In reply to: 1252988691


Refers to: src/coreclr/gc/gc.cpp:30114 in b9c9b8a. [](commit_id = b9c9b8a, deletion_comment = False)

@cshung cshung force-pushed the public/join-special-sweep branch from 8aa991d to b9c9b8a Compare September 22, 2022 20:22
@cshung cshung added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Sep 22, 2022
@cshung cshung mentioned this pull request Sep 30, 2022
@cshung cshung closed this Oct 7, 2022
@cshung cshung deleted the public/join-special-sweep branch October 7, 2022 00:51
@ghost ghost locked as resolved and limited conversation to collaborators Nov 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-GC-coreclr NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant