[DTrace-devel] [PATCH] Implementation of the printa() action
Eugene Loh
eugene.loh at oracle.com
Tue Dec 8 13:34:16 PST 2020
On 12/07/2020 01:07 PM, Kris Van Hees wrote:
> Given the design for the handling of aggregation data, there is no
> further need for cummulative data retrieval using snapshots. When we
> are ready to display aggregation data, we can retrieve the data by
> performing a key 0 BPF map lookup on the 'aggs' map. It gives us all
> data for all CPUs in a single buffer.
I'm trying to review this, but the patch is big and covers a lot of code
that's unfamiliar to me. Here are some preliminary comments. They
aren't meant to be important, but only what I've gotten to so far.
These "new" tests have 2006 (-2020) copyrights.
test/unittest/actions/printa/err.D_PRINTA_PROTO.fmt_no_arg.d
test/unittest/actions/printa/err.D_PROTO_LEN.no_arg.d
test/unittest/aggs/err.D_AGG_REDEF.idx_diff_funcs.d
There is an orphaned string. Try "git grep idhash_nextoff".
Are these obsolete?
dtat_ncpus
dtat_ncpu
dtat_cpus
dtat_maxcpu seems to be used, but I cannot tell where it is set. It
used to be set in aggregate_go().
Should DTRACEOPT_AGGRATE be decommissioned?
How about aggrate (still present in many tests)?
How about dt_lastagg?
How about dtrace_bufdesc and dtrace_bufdesc_t?
Are we changing support for "cpu" (CPU on which to enable tracing)?
In general, I would suggest leaving stylistic refactoring (such as
eliminating "(void)", changing spacing around "sizeof", use of
parentheses on "return", etc.) out of big functional patches like this.
Better to have patches for particular purposes. If such changes should
be made, they can be made consistently and as their own patch,
simplifying review, etc. That's water under the bridge as far as this
patch goes, but if you like I can prepare such a patch ("not this week")
so that there is consistent style in the code base and such refactoring
will not be part of other patches. Let me know.
More information about the DTrace-devel
mailing list