[GHC] #13683: Use epoll rather than poll where appropriate

#13683: Use epoll rather than poll where appropriate ----------------------------------------+--------------------------------- Reporter: dfeuer | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.4.1 Component: Core Libraries | Version: 8.0.1 Keywords: | Operating System: Linux Architecture: Unknown/Multiple | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: ----------------------------------------+--------------------------------- Linux supports an `epoll` system call that's supposed to scale better to large numbers of watched file descriptors than `poll`. We should probably use it when available and appropriate. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13683 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13683: Use epoll rather than poll where appropriate -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.4.1 Component: Core Libraries | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): The event manager already does. See `GHC.Event.Epoll`. What usage of `poll` are you referring to? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13683#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13683: Use epoll rather than poll where appropriate -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.4.1 Component: Core Libraries | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): bgamari, see `fdReady` in `libraries/base/cbits/inputReady.c`. I don't know if `epoll` is appropriate there (I gather `epoll` is only for non- files?), but I ran into it in a commit shortly before 8.0.2 and looked up what the things were and figured it was worth checking. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13683#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13683: Use epoll rather than poll where appropriate -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.4.1 Component: Core Libraries | Version: 8.0.1 Resolution: | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): AFAIK `fdReady` is used only by the single threaded runtime, which is a pretty low priority as far as optimization is concerned; if users want strong IO performance they should be using the threaded runtime. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13683#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13683: Use epoll rather than poll where appropriate -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: feature request | Status: closed Priority: normal | Milestone: 8.4.1 Component: Core Libraries | Version: 8.0.1 Resolution: fixed | Keywords: Operating System: Linux | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => closed * resolution: => fixed Comment: I'm going to close this as I think we should try to keep the non-threaded runtime simple and platform independent where possible. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13683#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC