Re: Unexport of kvm_x86_ops vs tracer modules

Paolo Bonzini
2022-04-26T06:37:11Z

On 4/25/22 18:02, Mathieu Desnoyers wrote:
>> Now another solution is to make the fast assigns available to anyone, and
>> to allow you to simply pass in a pointer and size to have the data written
>> into it. That is, you get the results of the TRACE_EVENT and not have to
>> depend on internal data from the tracepoint.
> If the fast assign can then be used on a field-per-field basis, maybe this
> could work, but AFAIK the fast-assign macro is open-coded C, which makes this
> not straightforward.
>
> If it's a all-or-nothing approach where the fast-assign needs to serialize all
> fields, this would require that lttng copies the data into a temporary area,
> which is something I want to avoid for filtering and event notification per-field
> payload capture purposes.

It wouldn't be great; but it wouldn't be any worse than doing any
complex calculations inside an "if (trace_xyz_enabled())", and passing
them as arguments to the tracepoint function, which is what you
suggested earlier.

Paolo