Opened 9 years ago

Last modified 23 months ago

#3107 new bug

Over-eager GC when blocked on a signal in the non-threaded runtime

Reported by: awick Owned by:
Priority: lowest Milestone:
Component: Runtime System Version: 6.10.1
Keywords: Cc: dons
Operating System: Linux Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

Right now, in the non-threaded runtime, if you have the situation where all the threads are blocked on MVars, the deadlock detection / avoidance code runs a GC. This is fine, generally, but if they're blocked on MVars held by signal handlers, it has a profoundly bad effect on performance. In short, the runtime starts collection (blocking signals?), and we're stuck waiting for it to finish before handling signals. Or, if the signal doesn't come in, we sit waiting in a loop, garbage collecting.

It would be nice if the runtime either didn't trigger collection if signal handlers are in place, or, at the very least, held off on doing so for a nontrivial period of time.

Change History (15)

comment:1 Changed 9 years ago by igloo

difficulty: Unknown
Milestone: 6.12.1
Type: bugrun-time performance bug

Thanks for the report

comment:2 Changed 8 years ago by simonmar

Type of failure: Runtime performance bug

comment:3 Changed 8 years ago by igloo

Milestone: 6.12.16.12 branch

comment:4 Changed 8 years ago by igloo

Milestone: 6.12 branch6.12.3

comment:5 Changed 7 years ago by igloo

Milestone: 6.12.36.14.1
Priority: normallow

comment:6 Changed 7 years ago by igloo

Milestone: 7.0.17.0.2

comment:7 Changed 7 years ago by igloo

Milestone: 7.0.27.2.1

comment:8 Changed 6 years ago by igloo

Milestone: 7.2.17.4.1

comment:9 Changed 6 years ago by igloo

Milestone: 7.4.17.6.1
Priority: lowlowest

comment:10 Changed 5 years ago by igloo

Milestone: 7.6.17.6.2

comment:11 Changed 3 years ago by thoughtpolice

Milestone: 7.6.27.10.1

Moving to 7.10.1.

comment:12 Changed 3 years ago by thoughtpolice

Milestone: 7.10.17.12.1

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

comment:13 Changed 3 years ago by thoughtpolice

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

comment:14 Changed 2 years ago by thoughtpolice

Milestone: 7.12.18.0.1

Milestone renamed

comment:15 Changed 23 months ago by thomie

Milestone: 8.0.1
Note: See TracTickets for help on using tickets.