<div dir="ltr"><div>Merged with a number of fixes to the test patch. Thanks!<br></div><div><br></div><div>The CFLAGS have to be propagated to the probes target, and I added a target to ensure the EXTRA_DIST files are copied to the build directory.<br></div><div><br></div><div>Also, the "comparison" test did not work on 32-bit x86 since "long" and "int" have the same size on that architecture. The test expected the events to be different, but they will be merged (as both are 32-bit integers).</div><div><br></div><div>Jérémie<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 9 February 2018 at 16:56, Francis Deslauriers <span dir="ltr"><<a href="mailto:francis.deslauriers@efficios.com" target="_blank">francis.deslauriers@efficios.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">This patch set allows for multiple probes with the same name to be<br>
hooked on the same callsite. Right now, the Session Daemon only<br>
considers the name and signature of the events to determine if two<br>
events are identical. This could lead to trace corruptions when two<br>
probes would have the same name and signature but really different<br>
binary trace layouts.<br>
<br>
We now compare probes by doing a deep compare of every field. If two<br>
</span>events are _exactly_ the same and have the same metadata then the same<br>
<span class="">event ID will be used, if they are different a new event ID is created.<br>
<br>
</span>When used with its corresponding UST patch set[1], it allows for dynamic<br>
library upgrade scenarios during tracing. The user can now dlopen a new<br>
version of a provider library and dlclose an old version without<br>
restarting the process.<br>
<span class=""><br>
This patch set also includes regression tests for both the deep<br>
comparaison and the newly added dlclose capability.<br>
<br>
[1]: <a href="https://github.com/frdeso/lttng-ust/tree/dlclose-support" rel="noreferrer" target="_blank">https://github.com/frdeso/<wbr>lttng-ust/tree/dlclose-support</a><br>
<br>
Francis Deslauriers (5):<br>
</span>  Fix: probes should be compared strictly by events metadata<br>
  Fix: calling ht_{hash, match}_enum with wrong argument<br>
<span class="">  Tests: allow the use of regular expressions to match events<br>
  Tests: add function to validate the number of an event name in<br>
    metadata<br>
  Tests: add duplicated providers tests<br>
<br>
 <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a>                                    |   1 +<br>
 src/bin/lttng-sessiond/<wbr>Makefile.am              |   3 +-<br>
</span> src/bin/lttng-sessiond/ust-<wbr>field-utils.c        | 289 ++++++++++++++++++++++++<br>
 src/bin/lttng-sessiond/ust-<wbr>field-utils.h        |  29 +++<br>
 src/bin/lttng-sessiond/ust-<wbr>registry.c           |  46 +++-<br>
<span class=""> tests/fast_regression                           |   1 +<br>
 tests/regression/ust/multi-<wbr>lib/Makefile.am      | 114 ++++++++++<br>
</span><span class=""> tests/regression/ust/multi-<wbr>lib/README           |  21 ++<br>
 tests/regression/ust/multi-<wbr>lib/callsites.c      |  34 +++<br>
 tests/regression/ust/multi-<wbr>lib/callsites.h      |  21 ++<br>
 tests/regression/ust/multi-<wbr>lib/multi-lib-test.c | 251 ++++++++++++++++++++<br>
</span><span class=""> tests/regression/ust/multi-<wbr>lib/probes.c         |  18 ++<br>
 tests/regression/ust/multi-<wbr>lib/probes.h         | 195 ++++++++++++++++<br>
</span> tests/regression/ust/multi-<wbr>lib/test_multi_lib   | 262 +++++++++++++++++++++<br>
<span class=""> tests/unit/Makefile.am                          |   1 +<br>
 tests/utils/utils.sh                            |  27 ++-<br>
</span> 16 files changed, 1299 insertions(+), 14 deletions(-)<br>
<div class="HOEnZb"><div class="h5"> create mode 100644 src/bin/lttng-sessiond/ust-<wbr>field-utils.c<br>
 create mode 100644 src/bin/lttng-sessiond/ust-<wbr>field-utils.h<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/Makefile.am<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/README<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/callsites.c<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/callsites.h<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/multi-lib-test.c<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/probes.c<br>
 create mode 100644 tests/regression/ust/multi-<wbr>lib/probes.h<br>
 create mode 100755 tests/regression/ust/multi-<wbr>lib/test_multi_lib<br>
<br>
-- <br>
2.7.4<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Jérémie Galarneau<br>EfficiOS Inc.<br><a href="http://www.efficios.com" target="_blank">http://www.efficios.com</a></div>
</div>