Issue #9584 has been updated by Eric Wong.


 ko1 / atdot.net wrote:
 > Does it help for CoW friendly?
 > 
 > Basically, promoted bit is changed only for young objects.
 > To make young object, pages are marked dirty.
 
 Yes, but look again at the SHARED_* numbers from nari's test
 code.  #define USE_RGENGC 0  shares more memory.
 
 > And also, I'm worry about WB performance.
 
 I doubt it's much difference.
 I haven't been able to fix my bitmap patch to test performance
 (can't finish build, even).  I suspect it's fake objects, I marked some with
 FL_PERMANENT but maybe I missed some.  If you have time, can you please
 take a look?

----------------------------------------
Bug #9584: RGenGC regression in CoW sharing
https://bugs.ruby-lang.org/issues/9584#change-45536

* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* Category: 
* Target version: 
* ruby -v: ruby 2.2.0dev (2014-02-17 trunk 45028) [x86_64-linux]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
I just changed USE_RGENGC in ruby.h (and made r45224)
Using Nari-san's original test for bitmap marking GC:
  https://github.com/authorNari/skkzipcode.git

rgengc enabled: (default)
PROCESS_CNT : 5
SHARED_AVE  : 81644.0   kb
SHARED_TOTAL: 408220    kb
PRIV_AVE    : 87692.0   kb
PRIV_TOTAL  : 438460    kb
REQ/SEC     : 0.003136

rgengc disabled:
PROCESS_CNT : 5
SHARED_AVE  : 117307.2  kb
SHARED_TOTAL: 586536    kb
PRIV_AVE    : 44453.6   kb
PRIV_TOTAL  : 222268    kb
REQ/SEC     : 0.002963

I started using bitmaps, but it seems there are some places where my code
is buggy.  I haven't had more time to investigate, yet.
My work-in-progress is attached.


---Files--------------------------------
rgengc-bitmap-promoted-wip.diff (9.22 KB)


-- 
http://bugs.ruby-lang.org/