<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><style><!--

@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}

p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></div><div><br data-mce-bogus="1"></div><div><span id="zwchr" data-marker="__DIVIDER__">----- On Mar 4, 2019, at 4:28 AM, Thomas Schickentanz <thomas.schickentanz@harman.com> wrote:<br></span></div><div data-marker="__QUOTED_TEXT__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div class="WordSection1">
<p class="MsoNormal"><span style="font-size:12.0pt">Hi all,</span></p>

<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">My idea is to pre-allocate memory on system startup which can later be used by lttng for tracing. It should work like flight recorder mode without extracting data from ringbuffers to trace file
 while recording data. Data extraction of shm ringbuffers should be done when recording has been finished.</span></p>

<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">As per documention with option
</span><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">`--shm-path‘</span><span style="font-size:12.0pt" lang="EN-US"> ringbuffer for tracing can be created in shared memory. With
</span><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng-crash</span><span style="font-size:12.0pt" lang="EN-US"> data can be extracted from ringbuffer.</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">Can this option be used with shared memory in volatile memory (default ram), too? And is it possible to record kernel space traces with this option?</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">I tried </span></p>

<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng create testshm --shm-path=/dev/shm --snapshot</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng enable-channel c0 -s testshm -k</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng enable-event -s testshm -c c0 -k -a</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng start</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng stop</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Courier New"" lang="EN-US">lttng-crash -extract=/home/test /dev/shm</span></p>

<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">With lttng and lttng-crash everything seems to work fine (no error messages).</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">However the extract folder keeps empty.</span></p>
<p class="MsoNormal"><span style="font-size:12.0pt" lang="EN-US">Has someone researched into this option and can help to clarify the points?</span></p></div></blockquote><div>Hi Thomas,<br></div><div><br data-mce-bogus="1"></div><div>About "--shm-path" and lttng-crash, those are discussed here: <a href="https://lttng.org/docs/v2.10/#doc-persistent-memory-file-systems">https://lttng.org/docs/v2.10/#doc-persistent-memory-file-systems</a><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>I'm not sure I completely understand your use-case and whether your intent is to extract trace data after a<br data-mce-bogus="1"></div><div>system crash or if the "snapshot" mode is enough for your needs.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Note that the "shm-path" option only applies to UST (user-space) traces at the moment. It has not been implemented<br data-mce-bogus="1"></div><div>for kernel tracing yet.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>The way we typically use it for extraction of trace data from user-space when a system crashes is to use the pmem driver to</div><div>create a block device out of a range of the system memory, and then use ext2 or ext4 with the DAX mount option to ensure</div><div>the filesystem bypasses the page cache.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Then we ensure that kexec is used to boot a new kernel on crash, or make sure the BIOS does not erase the<br data-mce-bogus="1"></div><div>memory content on soft reboot, which gives access to the shm-path buffers after crash/reboot.</div><div><br data-mce-bogus="1"></div><div>We don't usually use /dev/shm as an argument to --shm-path. This path is normally used to hold POSIX shared memory</div><div>files. I would expect a different mount point path as argument to --shm-path which points to a DAX-enabled filesystem</div><div>backed by a PMEM block device.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Thanks,<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Mathieu<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div></div><div><br data-mce-bogus="1"></div><div data-marker="__SIG_POST__">-- <br></div><div>Mathieu Desnoyers<br>EfficiOS Inc.<br>http://www.efficios.com</div></div></body></html>