Opened 2 years ago

Closed 2 years ago

#25376 closed defect (implemented)

Disable as many timers as possible when DisableNetwork or when idle/hibernating

Reported by: nickm Owned by: dgoulet
Priority: Medium Milestone: Tor: 0.3.4.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: 034-roadmap-subtask, 034-triage-20180328, 034-included-20180328
Cc: Actual Points:
Parent ID: #25500 Points:
Reviewer: nickm Sponsor: Sponsor8


With #25373 and #25375, we should be using first-class timer objects for more and more of our timed events. We should have a way to mark timers that should be disabled when Tor is idle, or when DisableNetwork has been set. Then we should actually disable them, to lower the amount of wakeups that Tor performs under those circumstances.

Child Tickets

Change History (10)

comment:1 Changed 2 years ago by nickm

(There should be one subticket to build this system, and several subtickets to apply it as needed)

comment:2 Changed 2 years ago by dgoulet

Parent ID: #25500

Setting master ticket parent ID.

comment:3 Changed 2 years ago by nickm

Keywords: 034-roadmap-subtask added

comment:4 Changed 2 years ago by nickm

Keywords: 034-triage-20180328 added

comment:5 Changed 2 years ago by nickm

Keywords: 034-included-20180328 added

comment:6 Changed 2 years ago by nickm

Owner: set to dgoulet
Status: newassigned

Note that many of the periodic timer callbacks already contain "if (!net_is_disabled(...))"

comment:7 Changed 2 years ago by dgoulet

Reviewer: nickm
Status: assignedneeds_review

See branch: ticket25376_034_01

comment:8 Changed 2 years ago by nickm

Status: needs_reviewneeds_revision

I think this is good; we may have gotten some of the 0 vs NEEDS_NET flags wrong, but I can't find any obvious problems there.

This needs a changes file, though. (And did we remember to put one on #25762 ? Maybe they can both share a single changes file.)

Please feel free to put this in merge_ready once a changes_file exists.

comment:9 Changed 2 years ago by dgoulet

Status: needs_revisionmerge_ready

Pushed as a fixup commit. Feel free to tweak the text. I think it is OK but maybe there is a better English that could be used for some of it ;).

comment:10 Changed 2 years ago by nickm

Resolution: implemented
Status: merge_readyclosed

squashed & merged to master!

Don't worry about the English; usually I do the changes-file cleanups when I'm making the changelogs.

Note: See TracTickets for help on using tickets.