Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow allocating large object from free list while background sweeping SOH #2103

Merged
merged 2 commits into from Jan 28, 2020

Conversation

cshung
Copy link
Member

@cshung cshung commented Jan 23, 2020

Fixes #1848

The change postponed the clearing of the free lists of the large object heap, that allows the free list to be used while the background small object heap sweeping is in progress.

Stress tests involving large object allocation mixed with all the existing test cases survived the stress run over the weekend without crashing or deadlock.

@cshung
Copy link
Member Author

@Maoni0 is added to the review. #Closed

@Maoni0
Copy link
Member

these 2 lines can be gotten rid of


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

@Maoni0
Copy link
Member

hmm, too bad the lines didn't actually get displayed (just the line #) but if you open this in codeflow it should work

@cshung cshung changed the title [WIP] Allow allocating large object from free list while background sweeping SOH Allow allocating large object from free list while background sweeping SOH Jan 24, 2020
@cshung cshung requested a review from Maoni0 January 24, 2020 19:50
Copy link
Member

@Maoni0 Maoni0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@cshung cshung merged commit 04f77ba into dotnet:master Jan 28, 2020
@cshung cshung deleted the dev/andrewau/keep-loh-freelist branch January 28, 2020 02:08
VSadov added a commit to VSadov/runtime that referenced this pull request Jan 29, 2020
VSadov added a commit that referenced this pull request Jan 29, 2020
* refactoring

* ploh-->uoh

* fix Linux build
PR feedback

* some PR feedback

* more PR feedback

more PR feedback

* more PR feedback

* address comments in UpdatePreGCCounters

* removed a confusing comment

* stress fix in background sweep

* use `saved_sweep_ephemeral_seg` in background sweep.

* fixed `GCPerHeapHistory_V3` event.

* re-implemented #2103 on top of refactoring  (it was hard to merge)
MichalStrehovsky pushed a commit to MichalStrehovsky/corert that referenced this pull request Mar 28, 2020
* refactoring

* ploh-->uoh

* fix Linux build
PR feedback

* some PR feedback

* more PR feedback

more PR feedback

* more PR feedback

* address comments in UpdatePreGCCounters

* removed a confusing comment

* stress fix in background sweep

* use `saved_sweep_ephemeral_seg` in background sweep.

* fixed `GCPerHeapHistory_V3` event.

* re-implemented dotnet/runtime#2103 on top of refactoring  (it was hard to merge)
MichalStrehovsky pushed a commit to MichalStrehovsky/corert that referenced this pull request Mar 31, 2020
* refactoring

* ploh-->uoh

* fix Linux build
PR feedback

* some PR feedback

* more PR feedback

more PR feedback

* more PR feedback

* address comments in UpdatePreGCCounters

* removed a confusing comment

* stress fix in background sweep

* use `saved_sweep_ephemeral_seg` in background sweep.

* fixed `GCPerHeapHistory_V3` event.

* re-implemented dotnet/runtime#2103 on top of refactoring  (it was hard to merge)
jkotas pushed a commit to dotnet/corert that referenced this pull request Apr 1, 2020
* refactoring

* ploh-->uoh

* fix Linux build
PR feedback

* some PR feedback

* more PR feedback

more PR feedback

* more PR feedback

* address comments in UpdatePreGCCounters

* removed a confusing comment

* stress fix in background sweep

* use `saved_sweep_ephemeral_seg` in background sweep.

* fixed `GCPerHeapHistory_V3` event.

* re-implemented dotnet/runtime#2103 on top of refactoring  (it was hard to merge)
@dotnet dotnet locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LOH free list shouldn't be reset till we start sweeping it in BGC
3 participants