<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi Joakim,<br>
<br>
Indeed, using external equipment like an oscillograph was the first thing I did. </p>
<p style="margin-top:0;margin-bottom:0">But I am looking to compute the context switching time only with software. </p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I am pretty sure I will have to tweak the kernel to get such measurements
<span>😞 And even doing so, I will not have the closest value to the real elapsed time.</span></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Regards,<br>
Julien</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>De :</b> devel <devel-bounces@riot-os.org> de la part de Joakim Nohlgård <joakim.nohlgard@eistec.se><br>
<b>Envoyé :</b> jeudi 15 novembre 2018 18:38:43<br>
<b>À :</b> RIOT OS kernel developers<br>
<b>Objet :</b> Re: [riot-devel] Compute the time elapsed when switching between two threads</font>
<div> </div>
</div>
<div>
<div dir="auto">
<div>Would you be able to get the measurements you are looking for using this approach instead?</div>
<div dir="auto">The low priority thread is toggling a gpio pin in a tight loop. The other thread toggles a different pin as soon as it is resumed. You would need external equipment to get the time between the two, but it should give a fairly accurate measurement
 for a single context switch. </div>
<div dir="auto">/Joakim<br>
<br>
<div class="x_gmail_quote" dir="auto">
<div dir="ltr">Den tor 15 nov. 2018 17:49 skrev Julien Gomez <<a href="mailto:julien.gomez@student.uclouvain.be">julien.gomez@student.uclouvain.be</a>>:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">
<div id="x_m_8244452682846914806divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p style="margin-top:0; margin-bottom:0">Hi Gaëtan,<br>
<br>
Thank you for your answer!<br>
<br>
I did look at this test and it counts the number of context switches between two threads of the same priority in one second.<br>
<br>
What I want is something more abstract (any thread, any priority). To reformulate my question, let's assume I have two threads. It doesn't matter what they are doing. One of the threads will be interrupted by the other and a context switch will occur.
<b>What I want to know is how much time is spent in the context switching.</b><br>
<br>
I don't think this is possible at the application-level.<br>
<br>
Regards,<br>
Julien</p>
</div>
<hr style="display:inline-block; width:98%">
<div id="x_m_8244452682846914806divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>De :</b> Gaëtan Harter <<a href="mailto:gaetan.harter@fu-berlin.de" target="_blank" rel="noreferrer">gaetan.harter@fu-berlin.de</a>><br>
<b>Envoyé :</b> jeudi 15 novembre 2018 17:28:16<br>
<b>À :</b> <a href="mailto:devel@riot-os.org" target="_blank" rel="noreferrer">devel@riot-os.org</a>; Julien Gomez<br>
<b>Objet :</b> Re: [riot-devel] Compute the time elapsed when switching between two threads</font>
<div> </div>
</div>
<div class="x_m_8244452682846914806BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_m_8244452682846914806PlainText">Hi Julien,<br>
<br>
I think this test should be doing what you want, I did not look at it <br>
just knew it existed.<br>
<br>
 <br>
<a href="https://github.com/RIOT-OS/RIOT/tree/master/test/bench_thread_yield_pingpong" target="_blank" rel="noreferrer">https://github.com/RIOT-OS/RIOT/tree/master/test/bench_thread_yield_pingpong</a>
<br>
<br>
<br>
<br>
Regards,<br>
Gaëtan - cladmi<br>
<br>
On 15.11.18 16:41, Julien Gomez wrote:<br>
> Hello fellow developers !<br>
> <br>
> I have a simple question: How one could compute the time elapsed when switching from thread A to thread B?<br>
> <br>
> Any advice or lead is welcome!<br>
> <br>
> Regards,<br>
> Julien<br>
> <br>
> <br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@riot-os.org" target="_blank" rel="noreferrer">devel@riot-os.org</a><br>
> <a href="https://lists.riot-os.org/mailman/listinfo/devel" target="_blank" rel="noreferrer">
https://lists.riot-os.org/mailman/listinfo/devel</a><br>
> <br>
</div>
</span></font></div>
</div>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@riot-os.org" target="_blank" rel="noreferrer">devel@riot-os.org</a><br>
<a href="https://lists.riot-os.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">https://lists.riot-os.org/mailman/listinfo/devel</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>