[GHC] #8733: I/O manager causes unnecessary syscalls in send/recv loops
GHC
ghc-devs at haskell.org
Tue Feb 4 10:43:51 UTC 2014
#8733: I/O manager causes unnecessary syscalls in send/recv loops
--------------------------------------------+------------------------------
Reporter: tibbe | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Runtime System | Version: 7.6.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime performance bug | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by schyler):
If I understand correctly, this can be implemented as a state machine.
Each thread can have a "last IO action" state which gets reset when it
yields and set to some constant on send/recv. Then, if you call recv and
it's still in send mode, yield automatically (and yield would set it back
to NULL).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8733#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list