Re: What is the scheduler type of GHC?

2013-01-16 Thread Edward Z. Yang
Excerpts from Magicloud Magiclouds's message of Wed Jan 16 00:32:00 -0800 2013:
> Hi,
>   Just read a post about schedulers in erlang and go lang, which informed
> me that erlang is preemptive and go lang is cooperative.
>   So which is used by GHC? From ghc wiki about rts, if the question is only
> within haskell threads, it seems like cooperative.

Additionally, the current scheduler is round-robin with some heuristics for
when threads get to "cut the line", so we do not have priorities for threads.
I'm currently working on a patch which allows for more flexible scheduling.

Edward

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: What is the scheduler type of GHC?

2013-01-16 Thread Simon Marlow

On 16/01/13 08:32, Magicloud Magiclouds wrote:

Hi,
   Just read a post about schedulers in erlang and go lang, which
informed me that erlang is preemptive and go lang is cooperative.
   So which is used by GHC? From ghc wiki about rts, if the question is
only within haskell threads, it seems like cooperative.


GHC is pre-emptive, but see http://hackage.haskell.org/trac/ghc/ticket/367.

Cheers,
Simon


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users