Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • docs/users_guide/eventlog-formats.rst
    ... ... @@ -221,14 +221,41 @@ Thread and scheduling events
    221 221
           * 11: BlockedOnDelay
    
    222 222
           * 12: BlockedOnSTM
    
    223 223
           * 13: BlockedOnDoProc
    
    224
    -      * 16: BlockedOnMsgThrowTo
    
    224
    +      * 14--17: unused
    
    225
    +      * 18: BlockedOnMsgThrowTo
    
    226
    +      * 19: unused
    
    225 227
           * 20: BlockedOnMVarRead
    
    226 228
     
    
    227 229
        :field ThreadId: thread id of thread being blocked on (only for some status
    
    228 230
                         values)
    
    229 231
     
    
    230 232
        The indicated thread has stopped running for the reason given by ``status``.
    
    231
    -   
    
    233
    +
    
    234
    +   Historically, the GHC-internal status codes for the reasons why threads are
    
    235
    +   blocked were used more-or-less directly as the status codes emitted into the
    
    236
    +   eventlog. This is now recognised as a mistake and the GHC internal codes and
    
    237
    +   these eventlog stop thread codes are now independent. We are nevertheless
    
    238
    +   left with some historical warts:
    
    239
    +
    
    240
    +    * 14,15: these correspond to GHC internal status codes `BlockedOnGA` and
    
    241
    +      `BlockedOnGA_NoSend` that are no longer used (and may never have been
    
    242
    +      used by any released version of GHC).
    
    243
    +    * 16,17: these would be used by `BlockedOnCCall` and
    
    244
    +      `BlockedOnCCall_Interruptible` which are GHC-internal status codes, but
    
    245
    +      these are never and have never been emitted into the eventlog. This has
    
    246
    +      caused confusion, and many versions of the `ghc-events` package support
    
    247
    +      these status codes. Threads blocking on foreign calls use `ForeignCall`
    
    248
    +      above.
    
    249
    +    * 19: this would be used by `ThreadMigrating` which is a GHC-internal
    
    250
    +      status code, but this is never emitted into the eventlog. Threads
    
    251
    +      migrating use a separate event `MIGRATE_THREAD`.
    
    252
    +    * `BlockedOnMsgGlobalise`: this is supported by versions of `ghc-events` as
    
    253
    +      code 18, but it appears never to have been emitted by any released version
    
    254
    +      of GHC. Most likely it was related to the local-heap GC experiment that
    
    255
    +      was never released.
    
    256
    +
    
    257
    +   Errata: previous versions of this document stated that code 16 is
    
    258
    +   `BlockedOnMsgThrowTo`. It appears this was always incorrect.
    
    232 259
     
    
    233 260
     .. event-type:: MIGRATE_THREAD
    
    234 261