Message ID | 20210312172821.31647-11-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | plugins/next (phys addr, syscalls, lots of docs) | expand |
On Mar 12 17:28, Alex Bennée wrote: > Remove the extraneous @cb parameter and document the non-atomic nature > of the INLINE_ADD_U64 operation. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Aaron Lindsay <aaron@os.amperecomputing.com> > --- > include/qemu/qemu-plugin.h | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h > index 5ac6fe5f02..dc05fc1932 100644 > --- a/include/qemu/qemu-plugin.h > +++ b/include/qemu/qemu-plugin.h > @@ -269,6 +269,14 @@ void qemu_plugin_register_vcpu_tb_exec_cb(struct qemu_plugin_tb *tb, > enum qemu_plugin_cb_flags flags, > void *userdata); > > +/** > + * enum qemu_plugin_op - describes an inline op > + * > + * @QEMU_PLUGIN_INLINE_ADD_U64: add an immediate value uint64_t > + * > + * Note: currently only a single inline op is supported. > + */ > + > enum qemu_plugin_op { > QEMU_PLUGIN_INLINE_ADD_U64, > }; > @@ -283,6 +291,9 @@ enum qemu_plugin_op { > * Insert an inline op to every time a translated unit executes. > * Useful if you just want to increment a single counter somewhere in > * memory. > + * > + * Note: ops are not atomic so in multi-threaded/multi-smp situations > + * you will get inexact results. > */ > void qemu_plugin_register_vcpu_tb_exec_inline(struct qemu_plugin_tb *tb, > enum qemu_plugin_op op, > @@ -305,7 +316,6 @@ void qemu_plugin_register_vcpu_insn_exec_cb(struct qemu_plugin_insn *insn, > /** > * qemu_plugin_register_vcpu_insn_exec_inline() - insn execution inline op > * @insn: the opaque qemu_plugin_insn handle for an instruction > - * @cb: callback function > * @op: the type of qemu_plugin_op (e.g. ADD_U64) > * @ptr: the target memory location for the op > * @imm: the op data (e.g. 1) > -- > 2.20.1 >
diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h index 5ac6fe5f02..dc05fc1932 100644 --- a/include/qemu/qemu-plugin.h +++ b/include/qemu/qemu-plugin.h @@ -269,6 +269,14 @@ void qemu_plugin_register_vcpu_tb_exec_cb(struct qemu_plugin_tb *tb, enum qemu_plugin_cb_flags flags, void *userdata); +/** + * enum qemu_plugin_op - describes an inline op + * + * @QEMU_PLUGIN_INLINE_ADD_U64: add an immediate value uint64_t + * + * Note: currently only a single inline op is supported. + */ + enum qemu_plugin_op { QEMU_PLUGIN_INLINE_ADD_U64, }; @@ -283,6 +291,9 @@ enum qemu_plugin_op { * Insert an inline op to every time a translated unit executes. * Useful if you just want to increment a single counter somewhere in * memory. + * + * Note: ops are not atomic so in multi-threaded/multi-smp situations + * you will get inexact results. */ void qemu_plugin_register_vcpu_tb_exec_inline(struct qemu_plugin_tb *tb, enum qemu_plugin_op op, @@ -305,7 +316,6 @@ void qemu_plugin_register_vcpu_insn_exec_cb(struct qemu_plugin_insn *insn, /** * qemu_plugin_register_vcpu_insn_exec_inline() - insn execution inline op * @insn: the opaque qemu_plugin_insn handle for an instruction - * @cb: callback function * @op: the type of qemu_plugin_op (e.g. ADD_U64) * @ptr: the target memory location for the op * @imm: the op data (e.g. 1)
Remove the extraneous @cb parameter and document the non-atomic nature of the INLINE_ADD_U64 operation. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- include/qemu/qemu-plugin.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) -- 2.20.1