URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=03e00e09bf36fdb24483512de949919e30022ade
Author: Philippe Gerum <[email protected]>
Date: Fri Jun 8 12:52:23 2018 +0200
testsuite/xeno-test: reduce rounds of memory allocation checks
The tests exercizing the memory allocator may run for several minutes
each depending on the platform, in order to obtain reliable
performance figures. Reduce this amount of runtime for a basic
functional validation of those allocators.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5c53acb2a36602bcc8b6985507cd1d96b0a284f3
Author: Philippe Gerum <[email protected]>
Date: Thu May 17 19:42:17 2018 +0200
copperplate/heapobj-pshared: rebase on HEAPMEM algorithm
Address the issue mentioned in [1] regarding the shared memory
allocator, using a variant of the McKusick scheme significantly
improving the performance figures, especially regarding memory release
operations.
As a by-product of this overhaul, the shared memory allocator can now
manage heaps up to (4GB - PAGE_SIZE).
[1] http://www.xenomai.org/pipermail/xenomai/2018-April/038883.html
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=db05d86624398802892659077bc4d7dacf1f538c
Author: Philippe Gerum <[email protected]>
Date: Thu May 17 20:11:56 2018 +0200
boilerplate/avl: dissociate private/shared mode implementations
So that we may have both coexisting in a single executable.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=32eb1bee4f3e859e813b44b50bd13744e61b326a
Author: Philippe Gerum <[email protected]>
Date: Mon May 21 12:54:59 2018 +0200
scripts/prepare-kernel.sh: drop left overs from obsolete ports
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8d4139294c308f590b9081a1f5b93f872af08c34
Author: Philippe Gerum <[email protected]>
Date: Mon May 21 12:42:46 2018 +0200
powerpc64: drop architecture support
The powerpc64 architecture does not seem to have any active Xenomai
user, at least none who may be concerned enough to be willing to help
in maintaining this Xenomai port.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a809bbd2592ef76b20eff32cde91c776fd7622f5
Author: Philippe Gerum <[email protected]>
Date: Mon May 21 12:42:46 2018 +0200
blackfin: drop architecture support
The blackfin architecture is not supported by the mainline kernel
anymore since 4.17, and no concerned user showed up, willing to help
in maintaining this Xenomai port.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=eb391d39b29cfa3e960f577868df60da78d8a30f
Author: Philippe Gerum <[email protected]>
Date: Sat May 19 11:18:53 2018 +0200
testsuite/smokey: add core heap test
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=aa22cefb313f0047e13366250a4f40b59246c744
Author: Philippe Gerum <[email protected]>
Date: Sun May 13 19:00:50 2018 +0200
drivers/testing: add core heap test module
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6d20c7025dba012557a3999677b492c4b29a531f
Author: Philippe Gerum <[email protected]>
Date: Sat May 19 12:01:49 2018 +0200
lib/smokey: enable test filtering with --list[=expr]
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ddc616e26ac10fb7a67dd4cc71f40d41a65c8e57
Author: Philippe Gerum <[email protected]>
Date: Sat May 19 15:04:06 2018 +0200
cobalt/heap: add accessor to usage counter
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=36f3dd16593c9a2a06bfb34d64c285865d192b06
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=ce6fa90fdea240b97e4c8906bef513ec368f3c64
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=4f17f5e2877b6a41370c897937807a8dd8a00fdc
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=f15eb933a85f207d4a0aaa98fbbc92d12aa731e5
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=f46975c07771ed8f477f9e8f77fb708b07258cbc
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=15ca21d0ba642944924e455da48852f75508dd70
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=d2c39246d534f112846e6053f44d48c367ef3322
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=c6559a3796e1e9254e169557ab08171d7d4eed65
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=d606c7e0186e3ec2d56f92bbd2f14634bfef778b
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=d02796c75152e63db778634c42a1a5c6185928eb
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=f132eb6d8bd2ccd74edb51f4074e980b159c5083
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=3f60be5cb9be1a55be61e2d8e63fdd1f6b6f5ed7
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=6578694bc6bce926ba559fc1872f48e8436f0908
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=45c12a3003f3bef3ecf2bdc40d0c5faa62eac1e7
Author: Philippe Gerum <[email protected]>
Date: Sat May 12 19:08:59 2018 +0200
cobalt: syscall: don't bark at internal syscalls
Some architectures may define a secondary system call range for
internal operations, fix the consistency check not to warn about them.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ce4cc9e2ad8f51ece73e47d028bcb4c0f848a578
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=ee9fa568ba84eec5fed64ad2da1c0dfc859552ed
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=ff936290adbefc8c248e1dcbc12d94007b56d219
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=79805d769790eb4325759f7f9959bf7b95826054
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=c58664ba8913b74bc59a26b242b1f7c061e81405
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=7e534b7921c1ff598d4f53de3c3c26984a1855b6
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=4eb8e9523f954d1b434ae76376e34388e9648c6c
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=608264606cb61f6825f0f43fe8c47fa4f3939b9a
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=34b97af6846745a10c10197fb9b09990cdb6c02e
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=541988f97c6c39ae84d5260037ff6dc8b144ff89
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=0afe7a729484d6431a28d31d4d6fad394e1a3b4c
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=de50ceb8a96b54dac5d42db44ded05c1c004633d
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=f0203231ea3cdab5c702c442741eebbb73c80223
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=e416fd92993e5c79af5052c7d885c9049e44c18d
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=6d066d2c7674419c3b94af637bebf2cb3f057721
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=429589dc99e46bf865c615eb6d536854ee47b98a
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=6cf8b1ccf25b4b8cc5a1586f49367c73db785c7a
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=bae849e1e656b9c78cd83e0b3d481fbf55f2b138
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=c2de7d1507289886352836ccb15d538d633c2041
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=512b38b926b05dd8c80d7f3f44c5d8609b3d0e37
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=3c35662a2176fcc06b2652511503895a0bf8915c
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=7d6646f9cf92b4a6fe7119e6531bc105f6f5b64e
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=8072e59217b9c2e6ab44b36ba3ca5fcd4839e000
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=3de91ecc7dd2d2f97550c2d9e0ae8a5f16b9956c
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=63ef1c9e5b83ae694643dd21b485821a9859b1a6
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=d642f37af98fbc1f709568c87fd416e2f67c1f13
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=354c0a037767f05300d1fb1b405373c1d8f54dcc
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=bc435987694899624133b45535be4bf542ccc198
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=dbed86fd5ff7e59701e0879a0d48f543d393e29c
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=2eaa6c8b7c8653ad490f55f882d7b28d8dafc375
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=1fcfb33b539f55f0101db89ed51a9a9aaaf2885f
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=009928a1d2edab3fefce1b65f13192c6d5cbff54
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=24998496d3d5209dce1c458721567a6cbc54e666
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=d3d3c91da65b8b2a08af2ef66bee3cd565704c8d
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=47235ca09dc4b5ffdfcab77b915eccd9e0143a87
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=ee9164e5e97cee0a4747add46d3e3912cc0c42ac
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=6a2c63388cc754d78266194abbb07f04bae8206f
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=034fb42736cdcc48c1557a5f197c5d973af08416
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=0db6fe218c8b22116b01341e62fa004206d5e637
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=65c8c4570edd435578343cab72f2c571b97db55e
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=c0ff44bc9c0e4d02fcf01c692fb9d09c4b480d30
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=56ba24d9a0823af0c46c8de2fe47ffd5bb531379
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=c0b1fd700b24ee5cee8773aee72f5a6e113885ab
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=5f7fb422511397d2f1acc8f36aed1cf340d78eef
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=95f1e67ba884b91249f24b881cf615617fd40bbe
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=42fba00deb1b9af67aadb3ed2d88df3d2b7d602c
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=2274b5edd0e7b306780afead9034cbece55bd2ab
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=528ce002cd9928f106f166243c01359a374ee701
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=dd608b1a6dedefc727abf3762b538f85667b0b78
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=9e32d3396d107bdd55035ba9568fa1c04299982c
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=114b3578d640aaf82c35833ff373c6352c3f4ea1
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=38145e2cdea5c44c18675e1d8db8c86184e52121
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=67645cf8351bc3ab0d3a62a5156bf94709d5ac98
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=33abff74e60e6e59dfa3d6577c465c6b5d6089d8
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=acb6ffa654ec8af4f713dc90f8089d7d9bfd5cc8
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=f1f68b9d5ae9d6d69d355adefd9f06b525250ca7
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=a3006e409c1cd6d5816f6ae54cd728f965b26931
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=2d209625cd7a88a091dd69fdef75500637ae8bf9
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=919d708d4eaf6b72ebbb96a6b52717f1c06af65e
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=bcad797c441e58f67839691c38c0eaf10c8ac700
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=226dc240a9e106a257bfcc0b8866b54cc1656353
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=fa351e006193f3a8b350755da167fa6e68e84eba
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=2b99f2260ec83a1479bbd4b5a977cc36d2ff7445
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=37de83c42a9ec6b5f3304e60b84740ad6a6d3937
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=651a21e82c06fc9f862f43430a6c5d6a18bfab9f
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=cb02391cf80c35ba8408fd68b3ba39d10dd28599
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=22f60c91cd7d76f3d3fc88ab25bb775807499dd5
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=8db766e9d3e74e2c51c83205413256bc2a5c34b0
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=acfdd3ba55a49065490ec6f9c7e4dbc1e3b9f9fe
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=fb07c922c632ab2de73d01d7e78ef800fe8bca17
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=4afcda297edca9afc9c9a1071be3dcaf56b84daf
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=d75409de795deeabec901615bc42fe30cf0bb0ab
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=ad2a990bf945df550b2cc8e85591ededd4a9558c
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=16ef4ddb3276febc92023fd5a493ccc3d2e3d9f9
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=cd7072a0230a69f2544e0d7796bd4e601dc54b18
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=2145162bd6c3e0467e95a28240614e4a5058d6ac
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=524f053d1dc1bd6afbae595fdbac9007f6c32090
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=e5745a0e3bf31ba82a89faada44be362deeffdd6
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=fb199503c531b9f183a5cde7d7edaf772b7d6ae4
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=768f91a278c7e2df022b51810a05748a34c6e823
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=94f53ab04117d8507d7ab4477d60b7aa1ed61d80
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=8eb20fa5e2c3785c2db2adfdc87cf2192c33507f
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=70d9d21bc0d2036b874b60e41fe15a823dcec212
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=ff0870302337496a6bda0958774bcfe40e4baf39
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=679a4a0314325f458b5a602dc19a3ea9daa14432
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=c2c15f4c64587f6018de73b4e9f93721ab61c7cf
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=18ae3f525af574af28d93a5eb28e61bcea5a7e44
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=548a6a219a9ec85c01ce73f605929c8eda00cdbd
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=9e6749957eaa12e0203a368d135d98a8f4627cd3
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=eb1351045f74fcb238c49adfc9ba6a390cd9cb4f
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=1ab5b75a1f1d0cc2ba31a2c8463f4c49e8fa99be
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=7905dc46d1002d72a1f6f1d042ad399f6d6cb108
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=ff2578487ecd0e8fc761dc60ee3a019f326b24a7
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=78fb0eeca125b534ec947ebfa92e4a90d2cbe4a3
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=624240c9d4e6586abdf462ae715724cc1b15dbe3
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=8c077c6e6111395eebcd8951fbc5ee81834d1a1f
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=db7f0b391ff71f57302fd352f6c95556ede04492
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=659af3eee63386d884831de628ea82e60a654cc7
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=495cea2addcaa77895c8a1d4c9094f7d43800582
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=c4b2ca8b7e720235660aeb23dda32b8fbf48edb9
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=44f7fd4d74f7344a1f2d61c39d2bb431366affe8
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=ab93552fcec4bb253191adbf2cb0367933d625a4
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=53f786effbb8814b1646985a30d3ebc8e25c0de2
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=c5647aa9eafa07fe17057d92f4e7e83b7fb7e44a
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=f2e8abb111688b2f6a8ac03407d501e2c16634a8
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=f2c874012e8427752b9d298eb1ac5a7750e70a93
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=9c1bfbba0a299e91fe6be640a5a21da560a9f215
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=9b4ef0e28494bd14c13819e0786f7a3750541ce7
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=c89be96dd4eaf90e643bed33f2a7e77f82b2a15e
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=f7a15d83382aa63e32a3eb41ba852b5946fc0a45
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=e2c8e9cb8c1d0db6f111494af9f32edad1484c52
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=a10b3fa791971d91e6a75d385111255171e0b730
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=f6b044319ea5530ed270067bef211ec75644e458
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=f1744a642b54e05fbd0e91e9bb11483afd695ead
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=82357dff59215b563e3ecd0c89b6431a33ab8d46
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=932afad8683b077613de89386dfcd66993ff6eab
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=ac0d3f5f0310591d4e445f558686abae1899e01d
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=eecd929b10fd9049b16ac50efa1406039601ae0c
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=5d4045a5d17224da7d61d93ab4e4e528c6c6c2b8
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=85102934f297f5889d3c5891171856312472e4ba
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=5819026403a813e9ef2034af4ba0fcf89b05d827
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=0c6d75ff4da9504ab4558d3cec027bc6165ad5d5
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=d73e3f2843bc749fb6228257b1661723abdfa76f
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=4ba4986a76eb5a60b0aacc6154208143f8894c74
Author: Jan Kiszka <[email protected]>
Date: Thu May 24 19:44:00 2018 +0200
cobalt/posix/sem: Fix sem_open for preexisting semaphores
We missed to create and copy the shadow into userspace in case a
preexisting semaphore was opened in process that didn't created it. Was
biting us in pshared setups, but also when the previous owner died
before destroying a named semaphore.
Reported-by: Paal Tamas <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6d71a43e3c2bd2ceed83d001ede064a5c2908098
Author: Jan Kiszka <[email protected]>
Date: Thu May 24 19:44:00 2018 +0200
cobalt/posix/sem: Fix semaphore leak on failing xnmalloc
Properly destroy the semaphore in case we cannot allocate a
cobalt_named_sem struct.
Signed-off-by: Jan Kiszka <[email protected]>
_______________________________________________
Xenomai-git mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai-git