IRC channel logs


back to list of logs

<daviid>actually, wrt GC Warning I was refering to, repeated allocation of large memory blocks, the situation is a lot worst then I thought: GC_malloc_ignore_off_page(bytes) is not a flag, it is a procedure, to be used instead of GC_malloc(nbytes) (and friends) ... - "Identical to GC_malloc, but ... This is the recommended way to allocate anything that is likely to be larger than 100 Kbytes or so. (GC_malloc may result in failure to reclaim
<daviid>such objects.)"
<daviid>which means guile core needs to be patched, unless, maybe, we already have a flag to compile guile asking it uses GC_malloc_ignore_off_page(bytes), when bytes>100Kb ?
<daviid>lloda: I guess you also have these GC warnings, don't you?
<daviid>rlb: i did run the full test you were suggesting, buster amd64, using the script you pasted above, and it is all fine here too
<daviid>here is a question for C, Guile internal and BDW-GC experts:
<ijp>0.5/3 isn't bad, I suppose
<daviid>actually, I'd say 0/20, it did not solve the problem :( C Warning: Repeated allocation of very large block (appr. size 775237632): May lead to memory leak and poor performance.
<ijp>daviid: I was scoring myself out of your 3 criteria
<daviid>ijp: ah! just scoring myself out of 20 points
<daviid>ijp: i tried this naive patch because greping 'GC_malloc' actully only returned one file, one lcation, but that inline function (patched as in my paste above) has multiple return, so I guess in my case (using guile-cv, manipulating big (to huge) images, it allocates big (huge) huge blocks of memory 'all the time') the allocation occurs 'else where' ... oh well, at least I do not fear to appear as an idiot :)
<daviid>i'll send a mail to guile-devel
<rlb>i386 fails in a different way:
<rlb>alpha the same.
<rlb>sorry, alpha and hppa are the same test-out-of-memory failure
<daviid>hum, lost: (srfi srfi-4) calls make-srfi-4-vector ... which is undefined in that module, it is defined in (srfi srfi-4 gnu gnu), which srfi srfi-4 does not import (it imports (rnrs bytevectors, which does not import gnu either (and neither re-export...)))
<ijp>davidl: is it imported through C
<ijp>libguile/srfi-4.c:SCM_DEFINE (scm_make_srfi_4_vector, "make-srfi-4-vector"
<daviid>ijp: thanks
<ijp>that gets defined through a function that is initted at startup
<daviid>ijp: I'm trying to see if the patch I wrote effectively calls GC_malloc_ignore_off_page
<daviid>I mean if (make-f32vector a_large_value) get to call GC_malloc_ignore_off_page
<daviid>probably not: srfi-4.c calls scm_i_make_typed_bytevector, which calls make_bytevector, which calls scm_gc_malloc_pointerless, which is defined as
<daviid>which I beleive calls the BDW-GC GC_malloc_atomic(nbytes)
***handsome_pirate is now known as kool-aid-pirate
<amz3>no guilers at guilecon in bruxelle in feb?
<amz3>sneek: later tell catonao here is talk you might be interested
<sneek>Got it.
***kool-aid-pirate is now known as handsome_pirate
<nckx>amz3: typo?