Opened 4 years ago

Closed 4 years ago

#11965 closed bug (fixed)

USE_PTHREAD_FOR_ITIMER causes unnecessary wake-ups

Reported by: bgamari Owned by:
Priority: high Milestone: 8.2.1
Component: Runtime System Version: 7.10.3
Keywords: Cc: simonmar
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: #1623 Differential Rev(s): Phab:D2131
Wiki Page:


The USE_PTHREAD_FOR_ITIMER path appears to regress #1623 as it has no ability to disarm the timer when the ticker is in the STOPPED state.

Change History (3)

comment:1 Changed 4 years ago by bgamari

Differential Rev(s): Phab:D2131
Status: newpatch

comment:2 Changed 4 years ago by Ben Gamari <ben@…>

In 999c464/ghc:

rts/itimer/pthread: Stop timer when ticker is stopped

This reworks the pthread-based itimer implementation to disarm the timer
when events aren't needed. Thanks to hsyl20 for the nice design.

Test Plan: Validate

Reviewers: hsyl20, simonmar, austin

Reviewed By: simonmar

Subscribers: thomie

Differential Revision:

GHC Trac Issues: #1623, #11965

comment:3 Changed 4 years ago by bgamari

Milestone: 8.2.1
Resolution: fixed
Status: patchclosed
Note: See TracTickets for help on using tickets.