euloh
euloh
With DTv1, aggregations were accumulated in user space. Each printa() would read buffers and add them to the already fetched data. With DTv2, aggregations are accumulated by the kernel in...
Actually, even just multiple printa() actions are enough to demonstrate the problem. ``` BEGIN { @a = sum(1); @b = count(); @c = sum(1); printa(@a); printa(@b); printa(@c); exit(0) } ```...
The BPF verifier walks code paths to ensure that BPF code that is run is safe. An action like quantize() must quantize values into one of 127 different bins, representing...
One can imagine several fixes. One is not to pass a buffer! The script in question would pass! Never passing a buffer, however, would mean that BPF verifier problems would...
The test tst.multiaggs3.d fails. (It still has an @@xfail annotation, but that should be lifted.) The problem can be illustrated simply with: ``` # dtrace -qn ' BEGIN { @g...
Kris writes: This is indeed a bug. In the original code, the record size stores the size of the aggregation data. That is in a sense OK but it is...