Issue #9584 has been updated by Koichi Sasada.


Does it help for CoW friendly?

Basically, promoted bit is changed only for young objects.
To make young object, pages are marked dirty.

And also, I'm worry about WB performance.


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

* 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/