Re: [PATCH xenomai-images] ci: do not skip tests on vm that have been relaxed

Jan Kiszka <[email protected]> Fri, 10 Jul 2026 15:42:00 +0200
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
On 09.07.26 15:39, Tobias Schaffner wrote:
> On 7/7/26 13:21, Jan Kiszka wrote:
>> On 03.07.26 16:00, Tobias Schaffner wrote:
>>>
>>>
>>> On 7/3/26 14:07, Jan Kiszka wrote:
>>>> On 03.07.26 13:54, Tobias Schaffner wrote:
>>>>> Hi all,
>>>>>
>>>>> in some of my test runs the sched-tp-overrun test was failing with:
>>>>> 2026-06-23T17:25:44 ../tests/sched-tp-overrun.c:119: FAILED:
>>>>> evl_read_observable(tfd, &nf, 1) (=Resource temporarily unavailable)
>>>>> 2026-06-23T17:25:44 ** sched-tp-overrun: BROKEN
>>>>>
>>>>> I only see this on virtual targets.
>>>>> e.g.: https://code.siemens.com/ebsy/debian/xenomai-images/-/
>>>>> jobs/393605372
>>>>> Mostly on arm but also saw this on qemu-amd64 in one of my recent
>>>>> runs.
>>>>>
>>>>
>>>> Maybe improper/missing synchronization during test startup? Or when is
>>>> this hit?
>>>
>>>
>>> Does not look like a synchronization problem to me.
>>> The key part of the test failure is this combination:
>>>
>>> /*
>>> * Trigger an overrun condition by staying busy for longer
>>> * than the duration of our allotted time window.
>>> */
>>> for (;;) {
>>>      evl_read_clock(EVL_CLOCK_MONOTONIC, &now);
>>>      if (timespec_sub_ns(&now, &start) > OVERRUN_TIME)
>>>          break;
>>> }
>>>
>>> /*
>>> * Now check whether we received the overrun event as
>>> * expected. Since non-blocking input is enabled, a lack of
>>> * notification would amount to an error (EAGAIN).
>>> */
>>> __Tcall_assert(ret, evl_read_observable(tfd, &nf, 1));
>>>
>>>
>>> The OVERRUN_TIME of 200us seems to be not enough to trigger the overrun
>>> or in some cases or at least the message was not send in time.
>>>
>>> I suspected the issue to be time stealing but saw the fixup parts of the
>>> tp scheduler trying to handle missed time frames. I think we just have
>>> to increase the overrun time but not sure how much to still keep the
>>> fixup parts tested. I guess these code paths are only exercised on
>>> virtual targets.
>>>
>>
>> So, do you want to drop tp-overrun from this patch for now, or how to
>> proceed?
> 
> This is resolved now. The test is skipped since the merge of:
> 84b8efc58b3db882d527e08b9e28af01fc5b2753 - "[PATCH libevl] tests: skip
> sched-tp-overrun in virtual environments"
> 

Then let's try this - thanks, applied.

Jan

-- 
Siemens AG, Foundational Technologies
Linux Expert Center