Emilio G. Cota writes:
> Some design requirements/goals:
Also this commit breaks bisect-ability:
15:56:23 [alex@zen:~/l/q/qemu.git] (0138e1a5…)|BISECTING 2 + head -n 3
config.log
# QEMU configure log Thu Jan 24 15:19:36 GMT 2019
# Configured with: './configure' '--disable-tools' '--di
On Mon, Dec 10, 2018 at 14:37:25 +0300, Pavel Dovgalyuk wrote:
> > From: Emilio G. Cota [mailto:c...@braap.org]
(snip)
> > +struct qemu_plugin_dyn_cb_arr {
> > +struct qemu_plugin_dyn_cb *data;
> > +size_t n;
> > +size_t capacity;
> > +};
> > +
>
> Why not list or something dynamic?
P
> From: Emilio G. Cota [mailto:c...@braap.org]
> +/*
> + * A dynamic callback has an insertion point that is determined at run-time.
> + * Usually the insertion point is somewhere in the code cache; think for
> + * instance of a callback to be called upon the execution of a particular TB.
> + */
Some design requirements/goals:
- Make sure we cannot deadlock, particularly under MTTCG. For this,
we acquire a lock when called from plugin code, and keep
RCU lists of callbacks so that we do not have to hold the lock
when calling the callbacks. This is also for performance, since
some c