<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">
      <pre>on 2019/11/07 21:23, Cyril Hrubis wrote:</pre>
    </div>
    <blockquote type="cite" cite="mid:20191107132359.GE22352@rei.lan">
      <pre class="moz-quote-pre" wrap="">Hi!
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">+#include <errno.h>
+#include <sys/prctl.h>
+#include "lapi/prctl.h"
+#include "tst_timer_test.h"
+
+int sample_fn(int clk_id, long long usec)
+{
+       struct timespec t = tst_us_to_timespec(usec);
+
+       TEST(prctl(PR_SET_TIMERSLACK, 200000));
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
This is a bit more complicated.

First of all it does not make sense to set the timerslack in the sample
function. It should be done once in the test setup.

Also in the tst_timer_test.c we store the timerslack value in the
timer_setup(), which executes the test setup() at the end of the
function, so we would have to move the part that gets the timerslack()
after the test setup() function so that the library includes the newly
set timerslack in the calculation.</pre>
    </blockquote>
    <pre>Ok. I will set timerslack to 200us in setup and move timer_setup after test set up so that
we can get the 200us value.
</pre>
    <blockquote type="cite" cite="mid:20191107132359.GE22352@rei.lan">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">+  if (TST_RET != 0) {
+               tst_res(TFAIL | TTERRNO,
+                       "prctl(), returned %li", TST_RET);
+               return 1;
+       }
+
+       tst_timer_start(clk_id);
+       TEST(nanosleep(&t, NULL));
+       tst_timer_stop();
+       tst_timer_sample();
+
+       if (TST_RET != 0) {
+               tst_res(TFAIL | TTERRNO,
+                       "nanosleep() returned %li", TST_RET);
+               return 1;
+       }
+
+       return 0;
+}
+
+static struct tst_test test = {
+       .scall = "prctl()",
+       .sample = sample_fn,
+};
-- 
2.18.1



</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
</pre>
    </blockquote>
  </body>
</html>