For what it's worth, you can also use GHC.Conc.Sync.numCapabilities to find out how many cores are actually being used, if you wanted to check. (I thought this was also exported from Control.Concurrent, but apparently not...)