This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Go patch committed: Multiplex goroutines onto OS threads
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Ian Lance Taylor <iant at google dot com>, Rainer Orth <ro at cebitec dot uni-bielefeld dot de>
- Cc: gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com
- Date: Wed, 14 Dec 2011 13:58:11 +0100
- Subject: Re: Go patch committed: Multiplex goroutines onto OS threads
- References: <CAFULd4YULnVxGRFutAw1kcEcKX5Qt3z1H2bxc=PekQzByjL=4Q@mail.gmail.com> <mcrd3bst654.fsf@dhcp-172-18-216-180.mtv.corp.google.com>
On Wed, Dec 14, 2011 at 12:15 AM, Ian Lance Taylor <iant@google.com> wrote:
>>> This patch changes the Go library to multiplex goroutines onto operating
>>> system threads. ?Previously, each new goroutine ran in a separate
>>> thread. ?That is inefficient for programs with lots of goroutines. ?This
>>> patch changes the library such that it runs a certain numbers of
>>> threads, and lets each thread switch between goroutines. ?This is how
>>> the master Go library works, and this patch brings in code from the
>>> master Go library, adjusted for use by gccgo.
>>
>> For some reason I get this failure on alphaev68-pc-linux-gnu:
>>
>> --- FAIL: runtime_test.TestGcSys (4.64 seconds)
>> ? ? ? ? using 64 MB
>> ? ? ? ? using too much memory: 64 MB
>>
>> Raising the value in runtime/gc_test.go to 10e8 runs the test OK.
>
> Thanks for reporting this. ?I just committed the appended patch to both
> the master Go library and to libgo. ?I hope this will fix this problem.
> Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.
Still no success, now I get:
--- FAIL: runtime_test.TestGcSys (4.21 seconds)
???:1: used 2554104 extra bytes
???:1: using too much memory: 2554104 bytes
FAIL
FAIL: runtime
Uros.