GC: Don't do incremental GCs during V8

RESOLVED FIXED in mozilla15

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: gwagner, Assigned: billm)

Tracking

unspecified
mozilla15
x86
Mac OS X
Points:
---

Firefox Tracking Flags

(firefox10 unaffected, firefox11 unaffected, firefox12 unaffected, firefox13- unaffected)

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
I see a regression on splay from Aurora to Nightly from about 8350 to 6950 on my MP.
The GC log shows that the GC pause time increased from around 40ms to 60ms because of reset GCs.
status-firefox10: --- → unaffected
status-firefox11: --- → unaffected
status-firefox12: --- → unaffected
status-firefox13: --- → affected
tracking-firefox13: --- → +
Fixed for now by the disabling of IGC.
Blocks: 641025
status-firefox13: affected → unaffected
tracking-firefox13: + → -
(Reporter)

Comment 2

5 years ago
The current scores when I enable/disable IGC in a nightly:

disabled: around 7900
enabled: around 6600
Blocks: 735099
No longer blocks: 641025
(Assignee)

Updated

5 years ago
Assignee: general → wmccloskey
(Assignee)

Comment 3

5 years ago
Created attachment 626583 [details] [diff] [review]
patch

I wasn't able to reproduce the performance difference. However, we were running incremental GCs during V8, which could certainly affect performance. With this patch, all my GCs during V8 are non-incremental. It just ensures that if we hit the allocation trigger, we always do an incremental GC. We never really hit this during interactive apps, since they'll always go through the MaybeGC trigger first.
Attachment #626583 - Flags: review?(anygregor)
(Reporter)

Comment 4

5 years ago
(In reply to Bill McCloskey (:billm) from comment #3)
> Created attachment 626583 [details] [diff] [review]
> patch
> 
> I wasn't able to reproduce the performance difference. However, we were
> running incremental GCs during V8, which could certainly affect performance.
> With this patch, all my GCs during V8 are non-incremental. It just ensures
> that if we hit the allocation trigger, we always do an incremental GC. We
> never really hit this during interactive apps, since they'll always go
> through the MaybeGC trigger first.

Yep the performance regression is gone even without this patch. Did some allocation trigger change within the last 3 weeks?
Anyways this patch also makes sense. Maybe you should change the the summary.
(Reporter)

Updated

5 years ago
Attachment #626583 - Flags: review?(anygregor) → review+
(Assignee)

Comment 5

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/95e2e6a47831

I don't know what would have changed the score. A lot has been changing lately.
Summary: GC: V8 splay regression → GC: Don't do incremental GCs during V8
Target Milestone: --- → mozilla15

Comment 6

5 years ago
https://hg.mozilla.org/mozilla-central/rev/95e2e6a47831
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.