[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 08/12] libxl: ocaml: drop the ocaml heap lock before calling into libxl



On Fri, 2013-11-29 at 09:03 +0000, Rob Hoes wrote:
> On 29 Nov 2013, at 08:39, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > I wonder if you need to use these functions:
> >> /* [caml_register_global_root] registers a global C variable as a memory 
> >> root
> >>   for the duration of the program, or until [caml_remove_global_root] is
> >>   called. */
> >> 
> >> CAMLextern void caml_register_global_root (value *);
> >> 
> >> /* [caml_remove_global_root] removes a memory root registered on a global C
> >>   variable with [caml_register_global_root]. */
> >> 
> >> CAMLextern void caml_remove_global_root (value *);
> > 
> > To keep the for_callback value live?
> 
> Perhaps, yes, if a global root is something that is not only never
> deallocated, but also never moved. I remember we discussed this topic
> when revising v1 of the series, and I ended up with the current
> implementation that keeps a reference to the value at the ocaml level.
> 
> I wonder how ocaml tracks live values when they may move around. Iâll
> see what I can find out.

My google-fu wasn't sufficient to answer this, perhaps you have a
hotline to someone who knows though ;-)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.