[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