URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a651f0ccce8eb10a36edceb60d69552cd08d1a0e
Author: Philippe Gerum <[email protected]>
Date: Sun May 13 19:00:50 2018 +0200
cobalt/heap: rebase on HEAPMEM algorithm
Address the issue mentioned in [1] regarding the core (xnheap)
allocator, using a variant of the McKusick scheme significantly
improving the performance figures.
As a by-product of this overhaul, the core allocator can now manage
heaps up to (4GB - PAGE_SIZE).
The performance report log obtained by testing on imx6qp
is as follows:
== memcheck started
seq_heap_size=2048k
random_alloc_rounds=1024
pattern_heap_size=128k
pattern_check_rounds=128
[SEQUENTIAL ALLOC->FREE, ^2 BLOCK SIZES] ON 'xnheap'
HEAPSZ test heap size
BLOCKSZ tested block size
NRBLKS number of blocks allocatable in heap
AVG-A average time to allocate block (us)
AVG-F average time to free block (us)
MAX-A max time to allocate block (us)
MAX-F max time to free block (us)
FLAGS +shuffle: randomized free
+realloc: measure after initial alloc/free pass (hot heap)
sorted by: max alloc time
HEAPSZ BLOCKSZ NRBLKS AVG-A AVG-F MAX-A MAX-F FLAGS
1024k 32 32768 0 0 8 6
1024k 32 32768 0 0 7 2 +shuffle +realloc
1024k 16 65536 0 0 7 2 +realloc
1024k 16 65536 0 0 6 7 +shuffle +realloc
... (364 results following) ...
sorted by: max free time
HEAPSZ BLOCKSZ NRBLKS AVG-A AVG-F MAX-A MAX-F FLAGS
1024k 128 8192 0 1 2 8
1024k 16 65536 0 0 6 7 +shuffle +realloc
1024k 32 32768 0 0 8 6
512k 32 16384 0 0 5 6 +realloc
... (364 results following) ...
overall:
worst alloc time: 8 (us)
worst free time: 8 (us)
average of max. alloc times: 1 (us)
average of max. free times: 2 (us)
average alloc time: 1 (us)
average free time: 1 (us)
[SEQUENTIAL ALLOC->FREE, RANDOM BLOCK SIZES] ON 'xnheap'
HEAPSZ test heap size
BLOCKSZ tested block size
NRBLKS number of blocks allocatable in heap
AVG-A average time to allocate block (us)
AVG-F average time to free block (us)
MAX-A max time to allocate block (us)
MAX-F max time to free block (us)
FLAGS +shuffle: randomized free
+realloc: measure after initial alloc/free pass (hot heap)
sorted by: max alloc time
HEAPSZ BLOCKSZ NRBLKS AVG-A AVG-F MAX-A MAX-F FLAGS
512k 17k 28 1 1 8 2 +shuffle
512k 45k 11 1 1 7 2
1024k 24 32768 0 0 7 6 +shuffle
128k 820 128 1 1 6 2 +shuffle
... (32764 results following) ...
sorted by: max free time
HEAPSZ BLOCKSZ NRBLKS AVG-A AVG-F MAX-A MAX-F FLAGS
1024k 3k 292 1 1 1 8 +shuffle
256k 174 1024 1 1 1 6 +shuffle
1024k 24 32768 0 0 7 6 +shuffle
32k 12k 2 2 3 1 5
... (32764 results following) ...
overall:
worst alloc time: 8 (us)
worst free time: 8 (us)
average of max. alloc times: 1 (us)
average of max. free times: 1 (us)
average alloc time: 1 (us)
average free time: 1 (us)
[1] http://www.xenomai.org/pipermail/xenomai/2018-April/038883.html
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=77d4fa2c9f93394bd935e93f8e29ea6d9a7420b5
Author: Philippe Gerum <[email protected]>
Date: Tue May 15 18:24:02 2018 +0200
boilerplate/heapmem: align on HEAPMEM_PAGE_SIZE for non-bucketed blocks
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b0afd6dcd67e4038f25ad7f2c9e3ea4fd3a268a9
Author: Philippe Gerum <[email protected]>
Date: Tue May 15 15:29:44 2018 +0200
testsuite/smokey: memcheck: fix test heap sizes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=434d42036a852ea2171a89a55b197dfc98d4b0f5
Author: Philippe Gerum <[email protected]>
Date: Sun May 13 19:00:36 2018 +0200
drivers/ipc: align pool memory on native page size
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b63991a72eb3fd1cf7bea203a4dda4daa10c80c0
Author: Philippe Gerum <[email protected]>
Date: Sun May 13 17:17:06 2018 +0200
boilerplate/heapmem: move heap limit to ~4GB
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6151bccac48b4be175e131cdba71a2ae602ec670
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 22 19:50:57 2018 +0200
copperplate/heapobj: enable heapmem for private memory
Make HEAPMEM the default private memory allocator for real-time
configurations (cobalt || (mercury && non-debug)).
This setting can be reverted by passing --with-localmem=tlsf.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6ef63ef9f5b9751fc38ce8517b81b21d78784c99
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 22 18:20:04 2018 +0200
testsuite/smokey: add test suite for memory allocators
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=097537ae2976aee585fd5fc95f633d631157556a
Author: Philippe Gerum <[email protected]>
Date: Mon Apr 23 10:47:28 2018 +0200
copperplate/heapobj-pshared: add helper to return the total heap size
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=24a824d54cc2217880ac3498722306856adec9c1
Author: Philippe Gerum <[email protected]>
Date: Fri Apr 13 12:15:15 2018 +0200
boilerplate: add heapmem allocator
This is the umpteenth incarnation of the McKusick allocator, aimed at
replacing other allocators which have serious issues:
- TLSF is fast but not that good when it comes to memory overhead with
small sizes (i.e. < 512 bytes) on 64bit.
- heapobj-pshared has decent overhead figures but may be insanely slow
at deallocating blocks from large, hot heaps.
- the Cobalt core allocator is even worse than heapobj-pshared in
deallocating blocks, although the system heap should be generally
small enough not to trigger the most pathological cases in practice,
hopefully. Nevertheless, the performances are unacceptable.
The original McKusick algorithm implements a quick fit allocation
scheme, based on bucket management of ^2-sized chunks, which
automatically switches to a page-based allocation method for blocks
larger than twice the base page size.
This variant maintains the free page list in AVL trees for fast
lookups of multi-page memory ranges, and pages holding bucketed memory
have a quick allocation bitmap to manage their blocks internally.
The current implementation can replace TLSF for delivering
process-local memory with similar performances but lesser overhead
with small sizes. Most importantly, a kernel variant of HEAPMEM should
replace the Cobalt core allocator. Likewise, heapobj-pshared which is
beyond repair should be replaced with a process-shareable variant as
well, assuming the average size and allocation patterns of real-time
objects are similar in all contexts.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=efcc6a5e23175fcacfa40842191f4f5369497d2d
Author: Philippe Gerum <[email protected]>
Date: Mon Apr 23 10:28:49 2018 +0200
boilerplate: compiler: add more helpers and attribute tags
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=03926bc28d9c7565b4861eb204c4538faed71668
Author: Philippe Gerum <[email protected]>
Date: Mon Apr 23 18:29:46 2018 +0200
smokey: add helper to retrieve size expr
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=14adaafec3ff00555f5a5a7e548b669dd99520be
Author: Philippe Gerum <[email protected]>
Date: Mon Apr 23 18:03:07 2018 +0200
smokey: argument accessors using variables
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a88419a49b2941e540fd6998acc12047c33212cd
Author: Gilles Chanteperdrix <[email protected]>
Date: Tue Jul 12 20:29:22 2016 +0200
boilerplate/avl: merge pshared support for AVL trees
Make the AVL tree usable in shared memory when AVL_SHARED is defined
at build time, switching to offset-based memory references.
Gilles published this code in July 2016 as part of his personal
toolkit for hobby projects aka 'libchutils'.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fd9e8604482f226761f812054ffb48beb1daaf58
Author: Jan Kiszka <[email protected]>
Date: Wed May 2 18:33:00 2018 +0200
testsuite/smokey: Add cond + pp-mutex test
This stresses the case of fast-path mutex acquire plus pthread_cond_wait
with that mutex, which currently triggers a bug in xnsynch_release.
Along this, drop the HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL conditional -
libboilerplate takes care of that.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d145e79cbda7447e247735f8eca67b5bfc0f0153
Author: Jan Kiszka <[email protected]>
Date: Wed May 2 18:34:00 2018 +0200
cobalt/synch: Do not drop PP on xnsynch_release if it wasn't committed
We must not try to drop the prio ceiling in the kernel if it wasn't
committed yet. That could easily happen when using a prio-ceiling mutex
to wait on a cond-var.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0b7f8e54d6e8f23a5a3d7300fb39f52bd0fe0ef1
Author: Norbert Lange <[email protected]>
Date: Wed Apr 25 15:05:00 2018 +0200
demo/posix, testsuite/smokey: silences some compiler warnings
Signed-off-by: Norbert Lange <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0bd48a73d3b463b7f3d5918b149e12167c7b738e
Author: Jan Kiszka <[email protected]>
Date: Wed Apr 18 14:51:00 2018 +0200
cobalt/synch: Clear PP boost prior to handing over the ownership
Otherwise we first add the synch object to the new owner's boost list
before we remove it from the old one's, corrupting the list.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5c63456f4751de8f6324edd6064618a677bb3eac
Author: Jan Kiszka <[email protected]>
Date: Wed Apr 18 14:51:00 2018 +0200
testsuite/smokey: Add handover test for prio-ceiling mutexes
This triggers a bug in the PP implementation.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6a97ec20e56d69ef40711f88f7e69702e93e74d6
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:01:40 2018 +0200
net/via-rhine: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d96921fb17a95d4db478950ebbf90f623df17277
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:01:30 2018 +0200
net/tulip: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8d45315776f79066dc1b9861013f3e101f85eb03
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:01:23 2018 +0200
net/r8169: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=be4a4a2bf831a6e1531d14881d7c9bb06815e5de
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:01:10 2018 +0200
net/pcnet32: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=589b8d22e5ca41daa5d5d9a545c8fcc06018e75f
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:01:02 2018 +0200
net/natsemi: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7edf5adf5191651fc70e08a58ec1111c9730c7b0
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:00:56 2018 +0200
net/macb: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6b9033d3d62c430427373d87883f9b824f8c3aa6
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:00:48 2018 +0200
net/fec: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5fa0e35d9e2beeacbc71ffa075d3a3619aabe73f
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:00:39 2018 +0200
net/eepro100: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e898956f06991f703b8b5649557a6c64e28a82cb
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:00:26 2018 +0200
net/e1000: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=407f82f98374766b10eaba7c59abc19e9563aa51
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 15:00:02 2018 +0200
net/at91: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=183a38a448dd85265fc8973599d1d03e6715019b
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 14:59:51 2018 +0200
net/8139too: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7367b04fa5ab05ee6420bebcc1732dee4b0c627c
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 13:09:19 2018 +0200
net/igb: add adapter symlink into sysfs attributes
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=66b51c7653d648ca71c60f13e6962794441c16d9
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 30 12:53:34 2018 +0200
net: create sysfs nodes for net devices
Each rtnet device registered with the stack is represented by a node
into /sys/devices/virtual/rtnet/.
Setting the address of the real device probed by the kernel into the
rtnet_device.sysbind field before calling rt_register_rtnetdev(),
causes the "adapter" symlink to be installed in the newly created
attribute directory, pointing at that device.
e.g.
static int probe_handler(struct pci_dev *pdev, const struct pci_device_id
*ent)
{
...
rtdev->sysbind = &pdev->dev;
...
ret = rt_register_rtnetdev(rtdev);
...
}
$ ls -l /sys/devices/virtual/rtnet/
total 0
drwxr-xr-x 2 root root 0 Mar 30 12:50 enp1s0
drwxr-xr-x 2 root root 0 Mar 30 12:50 rtlo
$ ls -l /sys/devices/virtual/rtnet/enp1s0/
total 0
lrwxrwxrwx 1 root root 0 Mar 30 12:51 adapter ->
../../../pci0000:00/0000:00:13.0/0000:01:00.0
lrwxrwxrwx 1 root root 0 Mar 30 12:51 subsystem ->
../../../../class/rtnet
-rw-r--r-- 1 root root 4096 Mar 30 12:50 uevent
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f62b348c2e35c660070e2b93fb447a059ebc06ec
Author: Henning Schild <[email protected]>
Date: Fri Mar 2 14:22:00 2018 +0100
cobalt/kernel: fix clock_adjtime() compile error
Moving the definition out of the ifdef solves the following error:
include/xenomai/cobalt/kernel/clock.h:260:16: error:
‘struct <anonymous>’ has no member named ‘adjust_time’
include/xenomai/cobalt/kernel/clock.h:263:19: error:
‘struct <anonymous>’ has no member named ‘adjust_time’
Signed-off-by: Henning Schild <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3366c4801dd8c7378f2286ee69e58afa0eaa0c84
Author: Philippe Gerum <[email protected]>
Date: Mon Feb 12 18:20:40 2018 +0100
lib/cobalt: add clock_adjtime() syscall
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=60992a5b4d5312fdc6e0a1283ec967ef4bf9ed3d
Author: Philippe Gerum <[email protected]>
Date: Mon Feb 12 18:09:59 2018 +0100
cobalt/kernel: add clock_adjtime() syscall
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=59078e3433c323002a9a25ad7272e43670edf85d
Author: Philippe Gerum <[email protected]>
Date: Tue Feb 6 16:46:01 2018 +0100
cobalt/tracing: fix X86_X32 build w/o IA32_EMULATION
CONFIG_X86_X32 used to depend on CONFIG_IA32_EMULATION. Since upstream
commit #9b54050b, this is not the case anymore, and both options can
be enabled separately.
Remove the assumption about such dependency, fixing the build issue.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4160938ac626824794ede1dc7b2b08b1528d1e32
Author: Philippe Gerum <[email protected]>
Date: Tue Jan 23 19:19:31 2018 +0100
lib/cobalt: add sendmmsg(), recvmmsg() syscalls
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d9646fdd3760ab10afb6270da7939cadf2ffec79
Author: Philippe Gerum <[email protected]>
Date: Thu Jan 25 16:06:29 2018 +0100
cobalt/rtdm: add sendmmsg(), recvmmsg() syscalls
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a1957c0a47c85db37c7b9aa914bf51eaccee1e37
Author: Philippe Gerum <[email protected]>
Date: Tue Oct 3 12:02:36 2017 +0200
demo/gpiopwn: include required header explicitly
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=94b6c8722e2ef8359842a896f2931c31beadab31
Author: Jan Kiszka <[email protected]>
Date: Fri Sep 29 12:21:21 2017 +0200
cobalt/tracing: Primarily identify threads via pid
Except for the short phase between thread_init and shadow_map, a thread
is always identifiable via the pid of its Linux mate. Use this shorter
value, which also correlates with what ftrace records anyway, instead of
the pointer or the name. Report the full thread name only in prominent
cases: init, resume and switch.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7062ecc7af471be152a3c8b5122311e6c6f7556d
Author: Jan Kiszka <[email protected]>
Date: Fri Sep 29 10:32:42 2017 +0200
cobalt/tracing: Don't report current thread in tracepoints
All these are synchronous, and the thread context is already recorded by
ftrace.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=48aa296cf954d2495c741d8f88a055e96f5fedf1
Author: Jan Kiszka <[email protected]>
Date: Fri Sep 29 07:36:27 2017 +0200
cobalt/tracing: Print syscalls by name
Matching numbers against syscall.h, specifically when the call is compat
or x32, is tedious work. Fortunately, ftrace allows up to automate this.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=278f648b7773fbc410846c9ca6700715a5820995
Author: Jan Kiszka <[email protected]>
Date: Fri May 6 14:40:00 2016 +0200
cobalt/tracing: Trace changes of the current thread priority
Specifically useful to validate scheduling during PI or PP phases.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d94485023cb2fc29a5e616cc344c6eace456f34d
Author: Jan Kiszka <[email protected]>
Date: Thu Sep 28 20:54:24 2017 +0200
cobalt/tracing: Enhance cobalt_switch_context tracepoint
Adding PIDs and the state of the previous task will allow to track
Xenomai task switches in kernelshark (so far via out-of-tree patches,
upstream is planning for the necessary plugin concept).
Moreover, reporting the current priority on context switch helps
debugging unexpected or delayed context switches
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=395927e6f6a6ce27a49fa35484facb24d8fc4d82
Author: Jan Kiszka <[email protected]>
Date: Thu Sep 28 19:57:49 2017 +0200
cobalt/tracing: Convert cobalt_print_sched_params into proper function
The code of cobalt_print_sched_params is carried into the format string
in tracefs, and trace-cmd tries to make any sense out of it. While it
can process simply statements, this code is too complex and will prevent
the parsing.
Convert it into a function. That still does not resolve the parsing
issue of trace-cmd, but that can be addressed by a custom plugin which
can then interpret this tracepoint. That wouldn't be possible with the
broken format string.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=40d8032834a2f090178cf4ef23168d92cbdfb332
Author: Jan Kiszka <[email protected]>
Date: Thu Sep 28 19:55:28 2017 +0200
cobalt/tracing: Do not print numerical policy in trace
__print_symbolic already ensures that unknown policies are printed
numerically.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=db4f35a60daaac5b511cf8beb87b1d6e2729b157
Author: Jan Kiszka <[email protected]>
Date: Thu Aug 31 19:21:53 2017 +0200
cobalt/wrappers: Fix version level for cobalt_gpiochip_dev
That renaming only took place in 4.5.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f98de1acb721e2af3e006a81bfea85ff25002eac
Author: Jan Kiszka <[email protected]>
Date: Sun Oct 1 08:38:17 2017 +0200
cobalt: Never crash on reading host task pid
Catch the case that we try to obtain the pid of a not yet fully
initialized thread. Signal the error by returning -1 which is
specifically useful in case the value is added to some debug output or
trace.
xnthread_host_pid is now too complex for inlining.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=76ff75a58e33959b80e51eb2a39aa0bdc6bc057f
Author: Jan Kiszka <[email protected]>
Date: Mon Jul 31 15:37:57 2017 +0200
cobalt: Introduce xnftrace_printf
This allows to inject a user-defined string into the system's ftrace
without leaving RT mode (because of using a standard write on
/sys/kernel/debug/tracing/trace_marker).
As the signature of this function is different from the existing trace
syscall, create as dedicated one.
For simplicity reasons, the maximum string length that can be passed
down to the kernel is limited to 255 characters (+1 for termination).
We call directly into the internal __trace_puts to avoid both the
unneeded strlen call of the trace_puts wrapper and the false warning
that kernel code uses trace_printk.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=71789cc049576a781ad46b8352fbcdd1a9eb0a2e
Author: Philippe Gerum <[email protected]>
Date: Wed Aug 2 11:07:01 2017 +0200
cobalt/timer: fix, rework ptrace detection and timer forwarding
Ptracing may cause timer overruns, as the ptraced application cannot
go waiting for the current period in a timely manner when stopped on a
breakpoint or single-stepped. A mechanism was introduced a long time
ago for hiding those overruns from the application, while ptracing is
in effect.
The current implementation dealing with this case has two major flaws:
- it crashes the system when single-stepping (observed on ARM i.MX6q),
revealing a past regression which went unnoticed so far.
- it uses a big hammer to forward (most) timers without running their
respective timeout handler while ptracing, in order to hide this
timespan from the overrun accounting code. This introduces two
issues:
* the timer forwarding code sits in the tick announcement code,
which is a very hot path, despite ptracing an application is
definitely not a common operation.
* all timers are affected / blocked during ptracing, except those
which have been specifically marked (XNTIMER_NOBLCK) at creation,
which turns out to be impractical for the common case.
The new implementation only addresses what is at stake, i.e. hiding
overrun reports due to ptracing from applications. This can be done
simply by noting when a thread should disregard overruns after an exit
from the ptraced mode (XNHICCUP), then discard the pending overruns if
this flag is detected by the code reporting them
(xntimer_get_overrun()).
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7a99e3bb3b351c1a77fcdbbad0757c3f496c30b6
Author: Jan Kiszka <[email protected]>
Date: Wed Jul 26 18:50:43 2017 +0200
cobalt: Fix conditional build by avoiding #if XENO_DEBUG()
In contrast to #ifdef CONFIG_x, #if IS_ENABLED(x) (or our wrapper of
the latter) does not update the dependency information for kbuild. So,
switching any config easily left inconsistent build artifacts behind.
This conversion also fixes de66d324a93d: there is and there was never a
CONFIG_XENO_DEBUG_LOCKING.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2cd214462de7dd37e1ae932d87bbc2348888e80d
Author: Jan Kiszka <[email protected]>
Date: Fri Jul 14 17:19:39 2017 +0200
smokey: Add test cases for trylock on ceiling mutexes
This reveals a bug in the trylock kernel slow-path when
CONFIG_XENO_OPT_DEBUG_MUTEX_SLEEP is set.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bf58c315766902f7d9c02011f360a19ed60a7259
Author: Jan Kiszka <[email protected]>
Date: Fri Jul 14 20:32:40 2017 +0200
cobalt: Align structure of mutex_trylock with mutex_timedlock
No need to have different patterns, and the one of mutex_timedlock is
more compact.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6dbbaf431ba582ad48140e3d8616cde1e8d82ffc
Author: Jan Kiszka <[email protected]>
Date: Fri Jul 14 20:34:25 2017 +0200
cobalt: Fix slow-path of mutex_trylock in kernel
We missed to call set_current_owner on successful acquisition. That
destroyed prio ceiling and could even cause a crash when lock debugging
was enabled.
This can easily be addressed by switching the open-coded trylock to
xnsynch_try_acquire. Nice side effect: less code.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1e3918cca66e6529ce12791b45af661c25781f96
Author: Philippe Gerum <[email protected]>
Date: Thu Jun 1 09:46:29 2017 +0200
lib/cobalt: init: hint about failure due to disabled core
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=db360368c60b92f0008eaac536b0b6083e890b59
Author: Philippe Gerum <[email protected]>
Date: Thu Jun 1 09:43:53 2017 +0200
cobalt/syscalls: reject binding attempt to disabled core with EAGAIN
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6230f63ad34d4340966f8f3d97a0b0f9f9612a30
Author: Philippe Gerum <[email protected]>
Date: Wed May 24 17:41:41 2017 +0200
cobalt/arm64: no fpsimd support in real-time kthread context
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6506c6f95bd45b5d21f4647af94fa9c7ca25403c
Author: Philippe Gerum <[email protected]>
Date: Mon May 22 12:06:46 2017 +0200
cobalt/arm64: use regular context switching code
Since 4.9.x, the interrupt pipeline implementation guarantees that the
regular context switching code may be used over the head stage,
including the fpu management bits.
Drop the open coded support and use mainline's implementation instead.
At this chance, drop the useless conditionals for handling the non-FPU
case: this one does not apply to arm64.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1a334bbffb3f83c59c831f48d91096bbdf75fbeb
Author: Philippe Gerum <[email protected]>
Date: Mon May 15 17:03:02 2017 +0200
cobalt/arm64: fix build w/ pre-4.8 kernels
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=31d14fe05e928b124ec760dbf910d9f66498e99a
Author: Philippe Gerum <[email protected]>
Date: Sun May 14 19:41:55 2017 +0200
cobalt/arm: fixups for kernel 4.8+
At this chance, stop using the obsolete flush_cache_all() routine
which cannot honor the documented semantics for arm64.
Besides, calibrating the access times to the timer registers in
no-cache conditions does not make sense.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f6dd79f71c9b7c6d371f74c2c7411a51dc54f907
Author: Philippe Gerum <[email protected]>
Date: Sat Feb 15 16:42:09 2014 +0100
config: bump UAPI level
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4312dc5623d5a44b513265aefa2fe0ab06194672
Author: Philippe Gerum <[email protected]>
Date: Wed Feb 15 16:17:54 2017 +0100
cobalt/arm64: add README
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=170244bc2aec82c3e9e811da37ee87654d54d373
Author: Jan Kiszka <[email protected]>
Date: Tue Dec 6 16:34:48 2016 +0100
smokey/posix-mutex: Fix test case by destroying barriers correctly
At least on x86-64-compat, the missing destruction of the smokey
barriers, specifically their embedded mutexes, cause crashes of the
test. The reason is likely a mismatch between the kernel's and
userland's view on which object is still active, combined with the fact
that userland kept them on the volatile stack.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fc5f60f3347f6eb26593e3b46b82e1674dba7a73
Author: Jorge Ramirez-Ortiz <[email protected]>
Date: Wed Mar 30 13:30:11 2016 -0400
gpiopwm: display udp server information
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0416494cff32ea0cef827a352d329fa06a8149c8
Author: Jorge Ramirez-Ortiz <[email protected]>
Date: Tue Mar 15 19:18:15 2016 -0400
gpiopwm: pwm signal generator and servo motor control demo code
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=59d4dc710f316710a68ae7b187f1643040a416a7
Author: Jan Kiszka <[email protected]>
Date: Mon May 30 14:58:07 2016 +0200
lib/cobalt: Provide RT-capable usleep
User may expect this (probably last) sleeping service to be available
under Cobalt just like sleep, nanosleep & Co.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=51aebfe1b52276b2a6e4ef95272bad280177612d
Author: Jorge Ramirez-Ortiz <[email protected]>
Date: Wed Oct 5 21:34:27 2016 +0200
utils/analogy: fix error check [SIGSEGV]
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b39da83ce65a5df2466c7381476939c5e6e93bb4
Author: Philippe Gerum <[email protected]>
Date: Fri Sep 9 16:07:54 2016 +0200
cobalt/arm64: thread: move all TCB initializers out of line
Does not impact performances and fixes inclusion hell for pulling the
struct xnthread definition for good.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=affdd17d3db47d442e3f32b5161414a3ab23053d
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 8 16:29:59 2016 +0200
cobalt/arm64: fpu: drop obsolete xnarch_save_fpu()
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2f567c9152f22f85eecb3a0f4e4a7c5fb43d7aaa
Author: Philippe Gerum <[email protected]>
Date: Sun Aug 7 11:29:06 2016 +0200
net/drivers/e1000: work around UMR issue
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9bac08564afd5d50971b337318b402444e5a6d09
Author: Philippe Gerum <[email protected]>
Date: Thu Jul 7 17:05:16 2016 +0200
cobalt/syscalls: allow for handing over mode selection to syscall handlers
Specific system calls may benefit from dealing with the caller's
runtime mode by themselves, depending on internal information which
the generic syscall dispatcher does not have access to.
To this end, a new syscall mode called "handover" is
introduced. Syscalls bearing this mode bit are always entered from the
current calling domain. The syscall handler may return -ENOSYS to
trigger a switch to the converse domain until all domains have been
visited once, at which point the syscall fails with -ENOSYS
automatically.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=43f545d5ab7a63d0ce2de6f0613295a10c19019c
Author: Philippe Gerum <[email protected]>
Date: Mon Jul 11 15:42:01 2016 +0200
cobalt/powerpc: remove dependency on obsolete CONFIG_MATH_EMU
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=00a32a2306f925396cc0ba9c6c8f8a9fa044f108
Author: Philippe Gerum <[email protected]>
Date: Tue May 31 17:30:21 2016 +0200
boilerplate: add AVL library
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a83aa1278736442718ad943a31b5d6ae7c623cc7
Author: Philippe Gerum <[email protected]>
Date: Tue May 24 09:43:29 2016 +0200
boilerplate/libc: add placeholder for pthread_setschedprio()
For outdated uClibc.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=16619921b41dc056243bfce8aeda4f9e46dc0a6a
Author: Jan Kiszka <[email protected]>
Date: Tue Mar 8 14:46:59 2016 +0100
lib/cobalt: Wrap pthread_setschedprio for proper real-time support
Implement pthread_setschedprio on top of pthread_setschedparam_ex with
the help of the new __SCHED_CURRENT policy. This ensures that prio
changes are directly applied to the real-time core, and that with just
a single syscall.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=134d6ecc3481852c904fb35a65bd5ff809cc8bd7
Author: Jan Kiszka <[email protected]>
Date: Tue Mar 8 14:41:28 2016 +0100
cobalt/kernel: Introduce __SCHED_CURRENT policy to setschedparam_ex
Define the internal scheduling policy "current": it shall refer to the
target thread's current scheduling policy. This will allow to model
pthread_setschedprio on top of pthread_setschedparam_ex with only a
single syscall.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5164c18e0afed0777effbb8f9428313dcc45f252
Author: Jan Kiszka <[email protected]>
Date: Mon May 9 21:22:23 2016 +0200
cobalt/kernel: Trigger missing reschedule after PP deboost
xnsynch_release also needs to tell the caller about the potential need
for a reschedule after deboosting for prio-protection.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=eef3866a684ccc5f4f95454f330a052b859eaf07
Author: Jan Kiszka <[email protected]>
Date: Mon May 9 21:19:04 2016 +0200
cobalt/kernel: Return need_resched flag from xnsynch_release
We currently return the next owner, but no caller of xnsynch_release
evaluates this beyond != NULL and calls xnsched_run in that case.
Simplify the API by returning a need_resched flag directly. This will
also help with fixing the missing reschedule after PP deboost.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7a6f0c8a98bdeaea282618710cc554b54c4444ec
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 20 18:51:17 2016 +0100
config: bump version info to 3.1-devel
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=28cdcd91be46ff9275297064c494c07775f7b646
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 20 17:58:33 2016 +0100
lib/cobalt: add config switch to enable lazy setsched update mode
--enable-lazy-setsched should be given for enabling lazy propagation
of scheduling parameters upon calls to pthread_setschedparam*(),
sched_setscheduler(). Defaults to off.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9a684e69c664107c43eeb5c9e735b05d4e499244
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 20 17:20:58 2016 +0100
boilerplate/libc: provide placeholders for prioceiling ops
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6c39111c25e4d50ac970b1abae787e82ec1a9905
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 18 12:12:27 2016 +0100
lib/cobalt: use lazy schedparam propagation
Do not switch to secondary mode upon schedparam updates for
propagating changes to the regular kernel, if the caller runs in
primary mode when entering pthread_setschedparam*() or
sched_setscheduler(). In such a case, the update request to the
regular kernel is left pending until the target thread resumes
execution in relaxed mode, at which point it is committed.
CAUTION: This mechanism won't update the schedparams cached by the
glibc for the caller in user-space, but this is the deal: we don't
relax threads which issue pthread_setschedparam[_ex]() from primary
mode anymore, but then only the kernel side (Cobalt and the host
kernel) will be aware of the change, and glibc might cache obsolete
information.
If the caller already runs in relaxed mode on entry to these services,
the update request takes place immediately, via the regular (g)libc
calls.
In any case, the new scheduling parameters for the target thread are
immediately applied by Cobalt, regardless of the update path followed
for the regular kernel.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=344d6862a3889c816cb2be779725bdfc3660479d
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 18 12:12:50 2016 +0100
cobalt/thread: add schedparam lazy propagation
Provide a mechanism for carrying out a lazy propagation of schedparam
updates to the regular kernel, so that userland does not have to
switch to secondary mode for this.
When userland issues sc_cobalt_thread_setschedparam_ex for updating
the scheduling parameters of a Xenomai thread, a request for
propagating this change to the regular kernel is made pending. Such
request will be committed later, either when:
- the thread relaxes if it is running in primary mode when the update
request is received;
- next time the thread calls back into the Cobalt core as a result of
receiving a HOME action from a SIGSHADOW notification, which is sent
if such thread was relaxed at the time of the update request.
As a result, the target thread will have propagated the schedparams
update to the regular kernel as soon as it resumes (relaxed) execution
in user-space.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=69ac3281f4b4055e7f2a1030fde138f29f1f58e3
Author: Jan Kiszka <[email protected]>
Date: Thu Feb 25 11:29:00 2016 +0100
smokey/posix-mutex: Fix test case /wrt mutex object reuse
Mutex objects created on the stack must be properly destroyed after use.
Otherwise, succeeding tests that use the same stack layout will consider
them busy and refuse to recreate the mutexes.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bdb5310e2e4020def5ffa0c3c2a10191c0d2cbba
Author: Philippe Gerum <[email protected]>
Date: Wed Feb 17 09:21:27 2016 +0100
testsuite/smokey: mutex: simplify, introduce PP tests
At this chance, the lock stealing test is also fixed.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=93f1f8e076d726eac6b57a8ad22f90553731c822
Author: Philippe Gerum <[email protected]>
Date: Tue Feb 16 10:13:03 2016 +0100
lib/cobalt/mutex: add support for priority ceiling protocol
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7e6f484ed829d428bd19a9fb4a1190ecf9550786
Author: Philippe Gerum <[email protected]>
Date: Tue Feb 16 10:12:55 2016 +0100
cobalt/synch: add support for priority ceiling protocol
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=05191a2200f65dce15031bbe1737dfe424d3fc1e
Author: Philippe Gerum <[email protected]>
Date: Thu Mar 3 09:16:21 2016 +0100
cobalt/wrappers: add wrapper for reinit_completion()
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c368245a856b1d4241711fba197c250445b8bd84
Author: Philippe Gerum <[email protected]>
Date: Fri Feb 26 11:44:16 2016 +0100
testsuite/smokey: add test checking Cobalt's cpu affinity control
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1218b38966a03342826131563621b6ab80aa1a42
Author: Gilles Chanteperdrix <[email protected]>
Date: Sun Nov 1 19:14:40 2015 +0100
testsuite/smokey: add RTnet raw packets test
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=385bdb92be8ef5b842e7e0a737cc57fe08d8ee32
Author: Gilles Chanteperdrix <[email protected]>
Date: Sun Oct 11 16:05:18 2015 +0200
testsuite/smokey: add RTnet testsuite
Starting with UDP and raw sockets.
Measuring round trip time and checking for lost packets.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=22159941fa3a20b7554c04f56e6d474579814c87
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 18:17:49 2015 +0100
cobalt/arm64: drop obsolete config knob
All existing ARM64 pipeline implementations provide the
CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH knob, which is tested directly in
the Xenomai code base. No need for CONFIG_XENO_ARCH_UNLOCKED_SWITCH
anymore.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=56f177f8d71330a0aaa570a6648349d66971148e
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 18:14:53 2015 +0100
cobalt/powerpc: drop obsolete config knob
As of fbe1164, CONFIG_XENO_ARCH_UNLOCKED_SWITCH is not tested anymore
in the code base.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c3b73ee83673200602bc74d825078ffb101076fa
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 18:07:15 2015 +0100
cobalt/sched: detect preemptible switch support in pipeline
CONFIG_XENO_ARCH_UNLOCKED_SWITCH is merely an alias for
CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH, which is only meaningful to the
ARM architecture, now that PowerPC dropped such support.
Use the pipeline symbol directly to make the dependency explicit.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8aed18276b66aaf96de07a60ae6429ddf266babf
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 16:41:13 2015 +0100
cobalt/powerpc: drop support for unlocked context switch
This feature never actually brought any measurable gain on powerpc
platforms, compared to the complexity of its implementation in the
pipeline. It was primarily aimed at reducing latency for interrupt
handlers when costly cache and TLB flushes are required to switch
context, at the expense of increasing the scheduling latency. It
turned out to be counter-productive on common powerpc platforms, with
efficient MMUs.
This feature has been default off for a while now, and 4.1+ pipelines
won't provide support for it anymore. Time to drop support from
Xenomai too.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=dc46b5a01a9389c23b0aeac618bc62aff8b57d82
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 15:21:02 2015 +0100
cobalt/arm: track current mm unconditionally
All pipelines Cobalt can work with (i.e. 3.10+) for the arm
architecture do provide the mm tracking feature unconditionally, so
there is no point in keeping any build switch for it.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cb5caa747e9397866bca46d71309591f716c1805
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 15:21:02 2015 +0100
cobalt/powerpc: track current mm unconditionally
All pipelines Cobalt can work with (i.e. 3.10+) for the powerpc
architecture do provide the mm tracking feature unconditionally, so
there is no point in keeping any build switch for it.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f93a648138d4cc6507bd4ede7a8b9b01f336973f
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 14:47:44 2015 +0100
cobalt/thread: track thread_info unconditionally
We almost always want to track the thread_info structure of the host
task in the core tcb, and doing so is cheap, so there is no point in
building this support conditionally.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e8ec30e72550382152e8eb728ed08e009b52d23d
Author: Philippe Gerum <[email protected]>
Date: Tue Nov 3 13:11:25 2015 +0100
cobalt/kernel: fixup for v3.19+ (trace_seq)
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=87690b0edbbeaa25f3836795878b6a3ca3794192
Author: Philippe Gerum <[email protected]>
Date: Mon Nov 2 15:41:31 2015 +0100
cobalt/arch: fixup READMEs
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9183fd5e751e2cc16c8871a3335c322e722a68c8
Author: Philippe Gerum <[email protected]>
Date: Sun Nov 1 17:22:33 2015 +0100
cobalt/arm64: add README for I-pipe support
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c7013d79c85200158b53d500255ece193934bf79
Author: Gilles Chanteperdrix <[email protected]>
Date: Fri Oct 30 17:14:00 2015 +0100
cobalt/arm64: attempt at fixing fpu switch
Return to eager switching, since user-space applications use FPU
registers even when not using the FPU, but use an auxiliary backup area
when the "TIF_FOREIGN_FPSTATE" bit is set, in order to avoid clobbering
the saved FPU state.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a6e997d5e0579f5ac8d6e7426c4471c66e528c39
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 24 15:52:48 2015 +0200
testsuite/smokey: add basic FPU stress test
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c0c9babc3482c534d5bac9f4b8be167f3e97fd94
Author: Philippe Gerum <[email protected]>
Date: Fri Nov 17 19:03:04 2017 +0100
cobalt/arm64: add syscall decoding helper
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=590c6b9da58e53786025a9e09226de771886309c
Author: Philippe Gerum <[email protected]>
Date: Thu Oct 22 14:45:05 2015 +0200
cobalt/arm64: disable callee-saved logic in fptest helpers
We don't want GCC to apply any callee-saved logic to fpsimd registers
in fp_regs_set() before fp_regs_check() can verify their contents, but
we still want GCC to know about the registers we have clobbered.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a91eb420538815cc54a2c1c5cdd820e6d189436c
Author: Philippe Gerum <[email protected]>
Date: Mon Oct 19 15:54:55 2015 +0200
cobalt/arm64: switch to regular system call convention
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f263f61957355edf41239941c7c85f98d8a7afa6
Author: Philippe Gerum <[email protected]>
Date: Mon Oct 19 10:38:21 2015 +0200
cobalt/arm64: use lazy fpsimd switch mode
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=54e9c7de1d1d65a7812e07a173f6d104b402e9ed
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 17 18:07:59 2015 +0200
cobalt/arm64: use regular context switching code
Instead of open coding a copy of the regular context switching code,
use __switch_to() directly, assuming the pipeline properly serializes
switches from all domains.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9b25c4ed750050e2da52a1bc0510c5d36400a917
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 17 14:43:25 2015 +0200
cobalt/arm64: drop useless test on target architecture
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=86397b4c581d565b82a1c6c2db49689437e3472d
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 17 14:40:53 2015 +0200
cobalt/arm64: fix inclusion guards
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=76a51ccac90d7e1811f290eb7ac830e1d90741c7
Author: Don Mahurin <[email protected]>
Date: Mon Sep 14 12:52:27 2015 -0700
cobalt/arm64: Use empty mayday implementation for arm64.
The arm mayday implementation was not correct for arm64. Replace with empty
implementation.
Handle mayday in the linux domain, using xnthread_relax. This change is
essentially the same as the general change proposed in the 'Mayday issues
again' discussion (Jan Kiszka, Jun 21), though only applied to arch/arm64.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a3940a3a69e5191920ce26e90272f3d34fb97a88
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri Oct 2 12:54:37 2015 -0700
cobalt/arm64: FPU code cleanup
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c454919ae5cff194558936f7500420199ea36ed8
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu Oct 1 15:47:41 2015 -0700
cobalt/arm64: add lazy FPU switching
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c3fc8a186a3aa13eba27f2897321c1c128d270f1
Author: Dmitriy Cherkasov <[email protected]>
Date: Mon Sep 28 16:13:45 2015 -0700
cobalt/arm64: fix fpu exception names
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=df47ab5bfda0fd7b27a51992dc306f5b3690964d
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri Sep 11 17:58:54 2015 -0700
cobalt/arm64: add basic FPU support
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fc6f3d8fe18388439ff9ec3bb9561178770154b0
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 15:08:34 2015 +0200
cobalt/arm64: leave mm tracking to the pipeline
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=91ed634a5aed01bafa8adacadb1e51fdd9d0efe5
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 11:43:50 2015 +0200
cobalt/arm64: restrict unlocked switch to SMP
Unlocked switching for Xenomai/ARM was specifically introduced for
improving the interrupt latency on low-end armv4/armv5 platforms with
VIVT caches.
The once massive overhead imposed on the MMU context switching code
for invalidating the cache is long gone with VIPT indexing, and
keeping IRQs off while switching the memory context on armv8 these
days is not an issue. Actually, the complexity of the code involved in
dealing with unlocked switching may overbalance the expected gain.
However, the mainline kernel implementation for ASID management in the
SMP case currently requires us to keep IRQs enabled when allocating a
new MM context over the Xenomai domain, just like it did for aarch32
during the 2.6.3x time frame until the IPI-based approach was
eventually dropped.
So, let's restrict unlocked switching to the SMP case, forcing it off
otherwise, in the hope we can drop it entirely in the future.
At this chance, CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH moves to the
kernel area, where it actually belongs.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6fe0ac22fac5e1058a99a8077bbb1e33abca4c36
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 04:01:49 2015 +0200
cobalt/arm64: sanitize calibration file
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=06211451c9ced705866b0f32ee3bb328344656ec
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 02:19:57 2015 +0200
cobalt/arm64: assume TLS is properly supported
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=aecd88b33ee17266a1d683455a2efab6ad05b79a
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 02:16:10 2015 +0200
cobalt/arm64: drop aarch32 bits from feature set
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f1c042c7e015e80c8787c37814c483dc25c982b9
Author: Don Mahurin <[email protected]>
Date: Wed Sep 2 13:48:36 2015 -0700
cobalt/arm64: fix build for mismatched printf type (%lx,u64) on arm64.
pc and orig_r0 are u64 on arm64 and 'unsigned long' or arm and other
platforms. printf referencing these are using %lx. On arm64, long and long long
(and u64) are 64 bits. Rather than changing printf format, chnage arm64 macros
to cast to unsigned long.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d6599f4e1dd57763989f6b80e2a2db58e464ad53
Author: Dmitriy Cherkasov <[email protected]>
Date: Wed Jun 17 16:09:20 2015 -0700
cobalt/arm64: machine.h: use slightly faster ffnz implementation
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8c711028ebf658d1a65cf4e81e299922b73a2161
Author: Dmitriy Cherkasov <[email protected]>
Date: Mon Jun 15 17:10:37 2015 -0700
cobalt/arm64: machine.h: Add 64-bit ffnz implementation. This fixes crash
when running xddp-echo.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a81e89b2ec06a4205fa690471ce0e193e6ab5b67
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri May 15 23:26:18 2015 -0700
cobalt/arm64: thread: use kernel switch_to
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ae23aeb9646d3bd60aba5bec55baa6ae891624fe
Author: Don Mahurin <[email protected]>
Date: Wed May 13 09:36:25 2015 -0700
lib/cobalt/arm64: replace tsc counter
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=56166be523f397018c0b7c3e901093c3e1492ed3
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri May 8 15:54:18 2015 -0700
cobalt/arm64: xenomai/syscall.h: update syscall register
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=012d12d9295647a3ae447a906e07db35422d6c3a
Author: Dmitriy Cherkasov <[email protected]>
Date: Wed May 6 15:27:10 2015 -0700
cobalt/arm64: prepare-kernel: add arm64 arch
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c52221a162d079c0a5dab57ba29a2ba01e821a00
Author: Don Mahurin <[email protected]>
Date: Fri May 8 10:39:32 2015 -0700
lib/cobalt/arm64: implement syscall for armv8/aarch64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0974e9b4d1a61ad9a177a92d3ba1397abfd65355
Author: Don Mahurin <[email protected]>
Date: Fri May 8 10:39:01 2015 -0700
lib/cobalt/arm64: add __LINUX_ARM_ARCH__ form armv8/aarch64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c1a2c7c1dbaac538251934d01db4e61f702a7544
Author: Don Mahurin <[email protected]>
Date: Fri May 8 10:37:36 2015 -0700
lib/cobalt/arm64: disable kuser tsc get setting for armv8/aarch64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=882b5ca535a0750c67e097c61233fa760900d920
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 16:41:45 2015 -0700
cobalt/arm64: set cache aliasing and disable floating point coprocessor
instructions form aarch64/arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8c0dccae7d0a0ea7c030954acc1cf3b8c716bdf2
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 16:41:09 2015 -0700
cobalt/arm64: thread.h & syscall.h: fix register references for arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2e150aee30f89dc6183a60c986dec97ef1404c0a
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 16:40:07 2015 -0700
cobalt/arm64: features.h: disable XNARCH_HAVE_LLMULSHFT,
XNARCH_HAVE_NODIV_LLIMD for armv8/aarch64, as arm64 does not have these
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d30b659df5ae7310aa2c4ae250863fa0a7c54744
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 13:58:14 2015 -0700
cobalt/arm64: update register struct usage for arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ffe36f5f504615d6d579d59ad604b014f3e37c6f
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 13:56:22 2015 -0700
cobalt/arm64: remove code for unrelated arm architecture
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9bf8eee87ee14a9dd325490b9c5a9fb48d42569d
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 13:54:32 2015 -0700
cobalt/arm64: Makefile: fix arch path
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=54ed4e3ec9ffce4cbc65a0fa249f15f9ba1c8dc8
Author: Dmitriy Cherkasov <[email protected]>
Date: Wed May 6 15:27:23 2015 -0700
cobalt/arm64: populate arch/arm64 with a copy of arch/arm.
kernel/cobalt/arch/arm -> kernel/cobalt/arch/arm64
lib/cobalt/arch/arm -> lib/cobalt/arch/arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=50ef005105d07916d4202bf6d09a5c87fca828f5
Author: Philippe Gerum <[email protected]>
Date: Sun May 13 16:21:13 2018 +0200
drivers/serial: imx: prevent call from invalid runtime mode
_______________________________________________
Xenomai-git mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai-git