[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GC Warning related to large mem block allocation - Help needed
From: |
David Pirotte |
Subject: |
Re: GC Warning related to large mem block allocation - Help needed |
Date: |
Sat, 30 Dec 2017 02:05:21 -0200 |
> 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
pgpqDNAIRPv_p.pgp
Description: OpenPGP digital signature