[DTrace-devel] [PATCH v2 4/5] Implement the support code for generating aggregation data
Eugene Loh
eugene.loh at oracle.com
Tue Dec 1 10:02:23 PST 2020
On 11/30/2020 10:54 PM, Kris Van Hees wrote:
> On Mon, Nov 30, 2020 at 09:48:42PM -0800, Eugene Loh wrote:
>> No. Neither copy stores the seq#. The seq# (in the current
>> implementation) is shared by all copies of all aggregations (on a
>> per-CPU basis).
> Yes, sorry, I was mentally thinking about the earlier implementation I did
> for this which used 2 map values. Indeed, the aggregation data copies do not
> contain the sequence number (although that is likely to change in the future
> based on your suggestion anyway).
Thanks for the additional explanations, but I do not understand what you
say will "change in the future." My suggestion was to have one sequence
number per aggregation, not per copy of each aggregation. The two copies
would continue to share a sequence number that is owned or stored by
neither one.
> But either way, there is nothing wrong with
> considering one to be primary and the other secondary.
It's misleading to introduce spurious concepts.
> Is it necessary?
> No, it is not. But it is not wrong either. And conceptually, the second
> copy exists so that we can direct the consumer to that copy while we update
> the first one, and then we switch things around again so we can update the
> second copy in preparation for the next update (i.e. so that the consumer will
> continue to see the correct data no matter what).
More information about the DTrace-devel
mailing list