- 19 Mar, 2019 4 commits
-
-
Roman Stratiienko authored
$SRCARCH removed since v4.18-rc1, upstream commit 104daea149c4 ("kconfig: reference environment variables directly and remove 'option env='") This will fix build with v4.18 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
print_symbol() removed since v4.16-rc1 commit d2279c9d7f7d ("kallsyms: remove print_symbol() function") use print_symbol for version less than v4.16 and printk starting from v4.16 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
READ_ONCE() introduced from v3.19 commit 230fa253df63 ("kernel: Provide READ_ONCE and ASSIGN_ONCE") and ACCESS_ONCE() removed startibg from v4.15-rc4 commit b899a850431e ("compiler.h: Remove ACCESS_ONCE()") Replace ACCESS_ONCE with READ_ONCE and make READ_ONCE wrapper for case when READ_ONCE is not available (<v3.19) This will fix build with v4.15 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This also builds the Xenomai userspace as part of CI. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 18 Mar, 2019 4 commits
-
-
Roman Stratiienko authored
Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
The token-based approach for detecting preemption while data is being moved into or out of the ring only protects from read vs read races, not from races involving a write side. For instance, a reader might read dirty data being changed by a writer concurrently, or two writers might compete writing two distinct messages at the same place in the ring space. To address this issue, use a slot-based implementation which atomically reserves exclusive portions of the ring space readers and writers will be accessing locklessly. Those slots are guaranteed to never overlap among read and write requests, until the lockless operation finishes. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This aligns the definition of our user copy services with the kernel in two aspects: - use unlikely to mark the fast path - memset the remaining bits of the target region if the copy fails; this avoids false-positive compiler warnings and reduces the risk to evaluate undefined data in case the return value is not checked Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This instruments the sched-quota scheduling policy to track which groups exit, with which settings, and which threads belong to them. As trace_cobalt_schedquota_add_thread may be invoked before a thread is fully initialized, we need to trace also the thread address. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 25 Feb, 2019 1 commit
-
-
Jan Kiszka authored
Missed by e8178c98. Reported-by:
Edouard Tisserant <edouard.tisserant@gmail.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 04 Feb, 2019 14 commits
-
-
Jan Kiszka authored
Required to handle compat syscalls correctly. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Visibale with --verbose=2. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Checking whether calling a lock operation is actually needed is better wrt I-cache performance. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
If the test interface is already up on entry, keep it that way on exit, so that we may run this test multiple times without having to reconfigure. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We may want to use those tests in pre-configured situations, where a set of RTnet modules is already in place at startup, which we don't want the test to remove on exit. Those changes ensure that only the modules we had to push for running the test are actually removed on exit, leaving the pre-loaded ones running. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This issue triggers domain violation on ARM, SMAP violation on x86. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This fixes a regression introduced by #a69c4ac5, making the UDP stack basically unusable since no xmit could ever take place due to the wrong return value. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This patch works around a regression introduced by #74464ee3, causing a new device's skbs not to be passed to its ->map_rtskb() handler when registered, breaking further DMA inits in the driver. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We may want to embed struct rtnet_device into a pre-allocated parent container struct, which makes rtdev_alloc() and rt_alloc_etherdev() useless for the purpose. The new rtdev_init() and rt_init_etherdev() calls can be used to initialize a pre-allocated device structure and set it up with default ethernet settings resp. The caller should set the private area pointer manually (defaults to NULL). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
In timestamping mode, read() returns the timestamp of the latest event receipt on the pin based on CLOCK_MONOTONIC, along with the pin state. This is an optional pin readout mode controlled by the GPIO_RTIOC_TS request, e.g.: struct rtdm_gpio_readout rdo; int ret, on, val; on = 1; ret = ioctl(pinfd, GPIO_RTIOC_TS, &on); ret = read(pinfd, &rdo, sizeof(rdo)); /* pin state changed to rdo.value at time rdo.timestamp */ on = 0; ret = ioctl(pinfd, GPIO_RTIOC_TS, &on); ret = read(pinfd, &val, sizeof(val)); /* pin state changed to value (time of change unspecified) */ By default, timestamping mode is disabled, which corresponds to the original behavior. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
clock_decrease_after_periodic_timer_first_tick checks that periodic interval timers based on CLOCK_REALTIME are not (pathologically) affected by the epoch going backwards. To this end, we measure the actual time observed between two ticks of a periodic timer based on CLOCK_REALTIME with a call to clock_settime() injecting a negative offset in between, equivalent to five ticks. Due to processing delays induced by clock_settime() and other latency, we could observe a duration which exceeds a tick by a few tenths of microseconds. Since we can't anticipate the amount of latency involved, let's accept a longer delay of at most two ticks. This is still correct from the standpoint of the test, which verifies that no correlation exists between the clock offset injected by clock_settime() and the delay until the next tick generated by the affected clock. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 16 Jan, 2019 3 commits
-
-
Philippe Gerum authored
Disabling round-robin is obtained by passing XN_INFINITE for quantum to xnthread_set_slice(), which is zero: we don't want to check such value against the clock gravity. As a matter of fact, this bug may have prevented the RR mode to be switched off for years, causing the routine to always fail early with -EINVAL. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We receive the sampling period from the setup struct attached to the AUTOTUNE_RTIOC_{IRQ,KERN,USER} requests, drop the last copy from user from autotune_ioctl_nrt() which is spurious. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Non-cobalt kernel code may hook interrupts using ipipe_request_irq() directly, which means that xnintr_vec_first() cannot assume that __ipipe_irq_cookie() always returns a valid xnintr struct for all irqs. We need to detect those irqs while iterating over the interrupt namespace when pulling data from /proc files not to dereference invalid memory. Fixes: /proc/xenomai/irq /proc/xenomai/sched/stat /proc/xenomai/sched/acct Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 14 Jan, 2019 1 commit
-
-
Jan Kiszka authored
That file was removed with f1da4876. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 09 Jan, 2019 1 commit
-
-
Henning Schild authored
We should mark the current task as not owning the fpu anymore if it does actually own the fpu, not if the fpu itself is active. Fixes cb52e6c7Reported-by:
Mauro Salvini <mauro.salvini@smigroup.net> Signed-off-by:
Henning Schild <henning.schild@siemens.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 20 Dec, 2018 2 commits
-
-
Jan Kiszka authored
This encodes - updating version-code/label - committing the changes - tagging the result Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This drops the naming of each release, lowering the creative effort for the release manager and, thus, potentially raising the motivation to release more often. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 14 Dec, 2018 1 commit
-
-
Jan Kiszka authored
Do not add rtskbs to the rtskb_list which are not mappend because rtdev_unmap_rtskb will not remove such rtskbs again (buf_dma_addr == RTSKB_UNMAPPED). In fact, rtskb_list should be called rtskb_mapped_list, so refactor this while at it. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 06 Dec, 2018 1 commit
-
-
Philippe Gerum authored
In order to prevent unexpected truncation of pointer args in userland with the LP64 data model, libcobalt's fcntl() wrapper should accept a long (3rd) argument. Anticipate this change in the corresponding syscall implementation in the Cobalt core. The updated ABI remains backward-compatible for current users. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 30 Nov, 2018 5 commits
-
-
Philippe Gerum authored
This is actually a plain conversion of the former sched_declare() handler to the recently introduced sched_chkparam(), which only checks the weak scheduling parameters. By doing so, we ensure that those checks are done early and unconditionally in xnsched_set_policy(). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Move parameter checks from sched_declare() to the new sched_chkparam() handler, which runs early and unconditionally from xnsched_set_policy(). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Move parameter checks from sched_declare() to the new sched_chkparam() handler, which runs early and unconditionally from xnsched_set_policy(). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This is actually a plain conversion of the former sched_declare() handler to the recently introduced sched_chkparam(), which solely checks the parameter block. By doing so, we ensure that those checks are done early and unconditionally in xnsched_set_policy(). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We need policy-specific scheduling parameters to be checked early and unconditionally before applying them in xnsched_setparam(), even if the current scheduling policy does not change for the target thread (i.e. sched_declare() is not called). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 28 Nov, 2018 2 commits
-
-
Jan Kiszka authored
This helps users that may still expect it to exist. One example is buildroot. While at it, remove the now unused SUDO variable. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 23 Nov, 2018 1 commit
-
-
Jan Kiszka authored
If we change the quota value of thread group, we should take its already consumed time during the current cycle into account. So far, we refilled the budget blindly, which could have given the group an uncontrolled "peak". This commit first update the run_budget_ns of an active group and kills its limit timer. Then it refills run_budget_ns only with the remaining budget of the current cycle, taking the new quota as limit. Accumulated credits are still dropped - not worth to deal with their complexity in this scenario. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-