<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Dear Björn,</p>
    <p>My name is Cristina Stângaciu. I am currently working at a
      research project which may include an implementation of a
      table-driven (time-triggered) scheduling algorithm. I would like
      to choose LITMUS as a support for my proof of concept, but, I have
      some questions.</p>
    <p>If it is not too much trouble, I would kindly request a little
      help: <br>
    </p>
    <p>1. Is it possible to synchronize reservations, when using P-RES?
      How else could I obtain a perfectly periodical (jitterless)
      execution for a given thread (considering job execution start
      times)?<span style="color: rgb(0, 0, 0); font-family: Arial,
        Helvetica, sans-serif; font-size: 16px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-style: initial; text-decoration-color:
        initial; display: inline !important; float: none;"></span></p>
    <p>I have tried to use polling-periodic reservations:<br>
    </p>
    <p><font size="-1"><i>setsched Linux</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# setsched P-RES</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# showsched</i><i><br>
        </i><i>P-RES</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# resctl -n 1001 -t
          polling-periodic -c 1 -b 5 -p 10</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# resctl -n 1002 -t
          polling-periodic -c 1 -b 2 -p 10</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1001 3
          10 5&</i><i><br>
        </i><i>[1] 3493</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1002 1
          10 5&</i><i><br>
        </i><i>[2] 3494</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# release_ts</i><i><br>
        </i><i>Synchronous release at time 2901000.00ms.</i><i><br>
        </i><i>Released 2 real-time tasks.</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# wait</i><i><br>
        </i><i>[1]-  Done                    rtspin -w -p 1 -r 1001 3 10
          5</i><i><br>
        </i><i>[2]+  Done                   rtspin -w -p 1 -r 1002 1 10
          5</i></font><br>
      <br>
    </p>
    <p>The result (...08-48-17.png) is attached to this email but it
      doesn't seem to be a jitterless execution. <br>
    </p>
    <p>I have also tried to use table-driven reservations:</p>
    <p><font size="-1"><i>setsched Linux</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# setsched P-RES</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# showsched</i><i><br>
        </i><i>P-RES</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# resctl -n 1001 -t
          table-driven -c 1 -m 10 '[0,5)'</i></font></p>
    <p><font size="-1"><i>root@dLitmus:/sandbox/my-demo# resctl -n 1002
          -t table-driven -c 1 -m 10 '[5,7)' </i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1001 3
          10 5&</i><i><br>
        </i><i>[1] 3775</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1002 1
          10 5&</i><i><br>
        </i><i>[2] 3776</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# release_ts</i><i><br>
        </i><i>Synchronous release at time 3381000.00ms.</i><i><br>
        </i><i>Released 2 real-time tasks.</i><i><br>
        </i><i>root@dLitmus:/sandbox/my-demo# wait</i><i><br>
        </i><i>[1]-  Done                    rtspin -w -p 1 -r 1001 3 10
          5</i><i><br>
        </i><i>[2]+  Done                    rtspin -w -p 1 -r 1002 1 10
          5</i></font><br>
    </p>
    <p>The result (...08-56-20.png) is attached to this email, but as
      one can see between 50ms and 60ms there is an execution of the
      second rtspin outside the space that should have been allocated to
      reservation 1002 (namely 55-57ms). <br>
    </p>
    <p>So, can I synchronize task execution or at least synchronize the
      reservations, using P-RES?  <br>
    </p>
    <p>2. When I attach some processes (rtspin for example) to
      reservations, I am not able to visualize all the processes in
      kernelshark (<a href="https://kernelshark.org/">https://kernelshark.org/</a>).
      Could somebody tell me: why is this so? <br>
    </p>
    <p>I am able to visualize the rtspin execution with kernelshark if I
      use another type of scheduling, but I have problems when using
      P-RES.<br>
    </p>
    <p>I have attached a screenshot. The "release_ts" command is given
      from the kernelshark.  In the attached file only one process
      (rtspin) appears, but the use case is the same as above (2 table
      driven reservations, each reservation has one task). Moreover, in
      this case only one execution (only one job) can be seen when
      visualizing the execution of rtspin with kernelshark.<br>
    </p>
    <p>Thank you.<br>
    </p>
    <p>Yours sincerely,</p>
    <p>Cristina Stangaciu<br>
    </p>
    <p><br>
    </p>
  </body>
</html>