> So I am trying to understand and solve this problem. Below a (naive) attempt 
> to
> patch guile so it uses GC_malloc_ignore_off_page for objects > 100Kb, but that
> did not even work: I guess I do miss most if not all of the puzzle pieces 
> here...

Obviously (missing all the pieces of the puzzle): I see now that srfi-4 uses 
srfi-4.c
(thanks ijp), which calls scm_i_make_typed_bytevector, defined in bytevectors.c,
which calls make_bytevector, which calls  scm_gc_malloc_pointerless, which is
defined as #define SCM_GC_MALLOC_POINTERLESS(size) GC_MALLOC_ATOMIC (size), 
which I
presume calls BDW-GC GC_malloc_atomic(nbytes)

So, (a) the patch below is totally useless for any srfi-4 ops, and (b) it would
probably be more interesting to address this GC Warning reports for repeated 
large block of mem with a 'global' guile approach ... which I unfortunately 
can't
do: I just don't have the knowledge and the experience.

I can still try to patch srfi-4.c, for fun and locally, but even that is not 
easy
for me, because I read and write basic C (far from expert level), and I'm 
quickly
lost even just reading libguile code ...

David

Attachment: pgpUEIEIcqjwU.pgp
Description: OpenPGP digital signature

Reply via email to