[#33640] [Ruby 1.9-Bug#4136][Open] Enumerable#reject should not inherit the receiver's instance variables — Hiro Asari <redmine@...>

Bug #4136: Enumerable#reject should not inherit the receiver's instance variables

10 messages 2010/12/08

[#33667] [Ruby 1.9-Bug#4149][Open] Documentation submission: syslog standard library — mathew murphy <redmine@...>

Bug #4149: Documentation submission: syslog standard library

11 messages 2010/12/10

[#33683] [feature:trunk] Enumerable#categorize — Tanaka Akira <akr@...>

Hi.

14 messages 2010/12/12
[#33684] Re: [feature:trunk] Enumerable#categorize — "Martin J. Dst" <duerst@...> 2010/12/12

[#33687] Towards a standardized AST for Ruby code — Magnus Holm <judofyr@...>

Hey folks,

23 messages 2010/12/12
[#33688] Re: Towards a standardized AST for Ruby code — Charles Oliver Nutter <headius@...> 2010/12/12

On Sun, Dec 12, 2010 at 9:55 AM, Magnus Holm <judofyr@gmail.com> wrote:

[#33689] Re: Towards a standardized AST for Ruby code — "Haase, Konstantin" <Konstantin.Haase@...> 2010/12/12

On Dec 12, 2010, at 17:46 , Charles Oliver Nutter wrote:

[#33763] [Ruby 1.9-Bug#4168][Open] WeakRef is unsafe to use in Ruby 1.9 — Brian Durand <redmine@...>

Bug #4168: WeakRef is unsafe to use in Ruby 1.9

43 messages 2010/12/17

[#33815] trunk warnflags build issue with curb 0.7.9? — Jon <jon.forums@...>

As this may turn out to be a 3rd party issue rather than a bug, I'd like some feedback.

11 messages 2010/12/22

[#33833] Ruby 1.9.2 is going to be released — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

15 messages 2010/12/23

[#33846] [Ruby 1.9-Feature#4197][Open] Improvement of the benchmark library — Benoit Daloze <redmine@...>

Feature #4197: Improvement of the benchmark library

15 messages 2010/12/23

[#33910] [Ruby 1.9-Feature#4211][Open] Converting the Ruby and C API documentation to YARD syntax — Loren Segal <redmine@...>

Feature #4211: Converting the Ruby and C API documentation to YARD syntax

10 messages 2010/12/26

[#33923] [Ruby 1.9-Bug#4214][Open] Fiddle::WINDOWS == false on Windows — Jon Forums <redmine@...>

Bug #4214: Fiddle::WINDOWS == false on Windows

15 messages 2010/12/27

[ruby-core:33844] Re: PATCH: REE fast-thread.patch: stack_free() not called in rb_thread_die().

From: Kurt Stephens <ks@...>
Date: 2010-12-23 19:18:03 UTC
List: ruby-core #33844
On 12/23/10 8:03 AM, KOSAKI Motohiro wrote:
> 2010/12/23 KOSAKI Motohiro<kosaki.motohiro@gmail.com>:
>>> Similar technique might be relevant in MRI 1.9 if fiber/continuation stacks
>>> are also not freed until GC.
>>>
>>> On 12/22/10 11:32 PM, Kurt Stephens wrote:
>>>>
>>>> http://code.google.com/p/rubyenterpriseedition/issues/detail?id=57
>>>>
>>>> Helps reduce memory usage for short-lived Threads that might not be GC
>>>> fast enough.
>>>>
>>>> Might be relevant to other MRI builds with the fast-thread.patch.
>>
>> FWIW, Recent linux glibc malloc has some optimization for it. Can you try
>> recent glibc + 64bit linux combination?
>
> And, MALLOC_MMAP_THRESHOLD_ might help you even if you are using old
> distribusions.
> I guess.
>
malloc() is not the issue; the fast-thread.patch uses mmap()/munmap() 
directly for Thread stack space.  The patch at the link allows REE (with 
fast-thread.patch applied) to call munmap() sooner after the Thread dies 
instead of waiting until GC.

We found that Threads tended to not be GCed as often as we like 
(hundreds of them), and with each Thread stack consuming 1MB...

Stock MRI 1.8.7 does not have this problem; it calls stack_free() in 
rb_thread_die().  This is only a problem when fast-thread.patch is 
applied.  The fast-threads.patch cannot always call stack_free(), 
sometimes because the CPU %sp is in the dieing Thread's stack space, 
particularly when the Thread dies naturally.

It appears MRI 1.9 cont.c frees continuation stack buffers on context 
switches and does not jump the CPU %sp into it, it copies stack buffers 
back and forth.  I could be wrong, I'm more familiar with MRI 1.8.


In This Thread

Prev Next