Opened 4 years ago

Closed 20 months ago

#9890 closed task (fixed)

RTS -qa option is helpful but under-documented

Reported by: adamgundry Owned by:
Priority: normal Milestone: 8.0.2
Component: Runtime System Version: 7.8.3
Keywords: Cc: MikolajKonarski, simonmar
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Documentation bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s): Phab:D2850
Wiki Page:


The entire documentation for the RTS -qa option is

Use the OS's affinity facilities to try to pin OS threads to CPU cores. This is an experimental feature, and may or may not be useful. Please let us know whether it helps for you!

It does help for us: enabling it on a multithreaded, moderately GC-heavy web server led to a sizeable improvement (~20%) in throughput benchmarks. However, it would be nice if the GHC documentation was a little more descriptive about what exactly this option does and how experimental it is now considered! (Relatedly, perhaps it would be worth adding a single index of RTS options in the user's guide, much like the flag reference for GHC itself.)

Change History (7)

comment:1 Changed 4 years ago by simonmar

Milestone: 7.10.1
Owner: set to simonmar

I'll improve the docs here.

It's still experimental in the sense that you should experiment with it and see if it helps :) Thanks for the feedback.

comment:3 Changed 4 years ago by Simon Marlow <marlowsd@…>

In 2a103c7d763c22dc9b0562dac1184ffb950da5ce/ghc:

Improve documentation for -N and -qa (#9890)

comment:4 Changed 4 years ago by hvr

Status: newmerge

comment:5 Changed 4 years ago by hvr

Resolution: fixed
Status: mergeclosed

comment:6 Changed 20 months ago by bgamari

Differential Rev(s): Phab:D2850
Owner: simonmar deleted
Resolution: fixed
Status: closednew

It turns out that there is actually still no mention of this flag in the users guide. Here's a patch to fix this.

comment:7 Changed 20 months ago by bgamari

Status: newpatch

comment:8 Changed 20 months ago by bgamari

Resolution: fixed
Status: patchclosed

It turns out that there is in fact documentation for this flag

Note: See TracTickets for help on using tickets.