Thanks Anna. So I tried to measure timeslice in userspace and it seems like
it does not match with the settings. Any idea what happens or what is wrong
with my code:
I ran it on IMX6-SabreLite, master branch/kernel version 4.0.

main thread:
sel4bench_init();
seL4_Yield();
uint64_t start = sel4bench_get_cycle_count();
seL4_Yield();
uint64_t end = sel4bench_get_cycle_count();
sel4bench_destroy();
printf("Takes %llu\n", (end-start));

second thread:
while(1);

Both of them have the same priority.

When I set TIMER_TICK_MS=5 and TIME_SLICE=2, it outputs 8000000, which is
around 8msecs.
Also, if i set TIMER_TICK_MS=2 and TIME_SLICE=1, I get around 1.6msecs.

Best,

On Thu, Oct 19, 2017 at 5:03 PM, <[email protected]> wrote:

> Hi Oak,
>
>
> The timeslice value on the master kernel is only reset on thread creation
> and once the thread is depleted, so when a thread drops its priority the
> timeslice will not change, so it'll run for 2ms.
>
>
> The timeslice cannot be set to lower than 1 ms, however you could change
> the timer driver on your target platform to do so (look at the initTimer
> function).
>
> ​
>
> Note that the scheduler on the master kernel is fairly basic, the RT
> branch is far more fully featured (tickless and you can set different
> timeslices per thread).
>
>
> Cheers
>
> Anna.
>
>
> ------------------------------
> *From:* Norrathep Rattanavipanon <[email protected]>
> *Sent:* Friday, 20 October 2017 10:18 AM
> *To:* Lyons, Anna (Data61, Kensington NSW)
> *Cc:* [email protected]
> *Subject:* Re: [seL4] Questions on seL4's scheduling
>
> Also, is it possible to set timeslice to be less than 1 milliseconds?
>
> On Thu, Oct 19, 2017 at 3:08 PM, Norrathep Rattanavipanon <
> [email protected]> wrote:
>
>> Thank you, Anna and Gernot for the answer.
>>
>> One more question, so assuming a timeslice is 5ms, a thread with the
>> highest priority has run for 3ms, then drops its priority to be the same as
>> the other thread.
>> Then, the same thread will start running with the fresh timeslice and it
>> will run for another 5ms or will it just run for 2ms to complete the
>> timeslice?
>>
>> Oak
>>
>> On Mon, Oct 16, 2017 at 3:09 PM, <[email protected]> wrote:
>>
>>> Hi Oak,
>>>
>>>
>>> Assuming your questions are about the master branch of the kernel, as on
>>> the RT branch the kernel is tickless.
>>>
>>>
>>> 1. There are two config paramters
>>>
>>>     + TIMER_TICK_MS is how many milliseconds per tick
>>>
>>>     + TIME_SLICE is how many ticks per timeslice.
>>>
>>>
>>> 2. Assuming a thread is waiting on a notification object for an irq to
>>> arrive, and another thread is running at the same priority when the irq
>>> arrives, the thread waiting on the notification object will not be woken
>>> until the currently running thread has exhausted it's timeslice.
>>>
>>>
>>> Cheers,
>>>
>>> Anna.
>>>
>>>
>>> ------------------------------
>>> *From:* Devel <[email protected]> on behalf of Norrathep
>>> Rattanavipanon <[email protected]>
>>> *Sent:* Tuesday, 17 October 2017 8:35 AM
>>> *To:* [email protected]
>>> *Subject:* [seL4] Questions on seL4's scheduling
>>>
>>> Hello,
>>>
>>> I have a few questions about seL4's scheduling model in the main
>>> (formally verified) branch.
>>>
>>> 1) I see the time slice parameter in make menuconfig. Is that where I
>>> can change the scheduler's time slice correct? And the unit is in timer
>>> tick period I suppose?
>>>
>>> 2) I kind of remember the discussion we had that if an interrupt handler
>>> has lower priority than the currently running task, then the interrupt
>>> wouldnt happen.
>>> So what if both of them have the same priority, would the kernel
>>> schedule the currently running task until it uses up all of its timeslice,
>>> then issues the interrupt notification or would the interrupting process
>>> get executed right away?
>>>
>>> Best Regards,
>>> Oak
>>>
>>> --
>>> Norrathep (Oak) Rattanavipanon
>>> M.S. in Computer Science
>>> University of California - Irvine
>>>
>>
>>
>>
>> --
>> Norrathep (Oak) Rattanavipanon
>> M.S. in Computer Science
>> University of California - Irvine
>>
>
>
>
> --
> Norrathep (Oak) Rattanavipanon
> M.S. in Computer Science
> University of California - Irvine
>



-- 
Norrathep (Oak) Rattanavipanon
M.S. in Computer Science
University of California - Irvine
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to