URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=03e00e09bf36fdb24483512de949919e30022ade Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ee9fa568ba84eec5fed64ad2da1c0dfc859552ed Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ff936290adbefc8c248e1dcbc12d94007b56d219 Author: Norbert Lange <nolang...@gmail.com> Date: Wed Apr 25 15:05:00 2018 +0200 demo/posix, testsuite/smokey: silences some compiler warnings Signed-off-by: Norbert Lange <norbert.la...@andritz.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=79805d769790eb4325759f7f9959bf7b95826054 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c58664ba8913b74bc59a26b242b1f7c061e81405 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7e534b7921c1ff598d4f53de3c3c26984a1855b6 Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <henning.sch...@siemens.com> 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 <henning.sch...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=512b38b926b05dd8c80d7f3f44c5d8609b3d0e37 Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=354c0a037767f05300d1fb1b405373c1d8f54dcc Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bc435987694899624133b45535be4bf542ccc198 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=dbed86fd5ff7e59701e0879a0d48f543d393e29c Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2eaa6c8b7c8653ad490f55f882d7b28d8dafc375 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1fcfb33b539f55f0101db89ed51a9a9aaaf2885f Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=009928a1d2edab3fefce1b65f13192c6d5cbff54 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=24998496d3d5209dce1c458721567a6cbc54e666 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d3d3c91da65b8b2a08af2ef66bee3cd565704c8d Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=47235ca09dc4b5ffdfcab77b915eccd9e0143a87 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ee9164e5e97cee0a4747add46d3e3912cc0c42ac Author: Philippe Gerum <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=034fb42736cdcc48c1557a5f197c5d973af08416 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0db6fe218c8b22116b01341e62fa004206d5e637 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=65c8c4570edd435578343cab72f2c571b97db55e Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c0ff44bc9c0e4d02fcf01c692fb9d09c4b480d30 Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9e32d3396d107bdd55035ba9568fa1c04299982c Author: Jorge Ramirez-Ortiz <jorge.ramirez-or...@linaro.org> 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 <j...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=67645cf8351bc3ab0d3a62a5156bf94709d5ac98 Author: Jorge Ramirez-Ortiz <jorge.ramirez-or...@linaro.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fa351e006193f3a8b350755da167fa6e68e84eba Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2b99f2260ec83a1479bbd4b5a977cc36d2ff7445 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=37de83c42a9ec6b5f3304e60b84740ad6a6d3937 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=651a21e82c06fc9f862f43430a6c5d6a18bfab9f Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4afcda297edca9afc9c9a1071be3dcaf56b84daf Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <jan.kis...@siemens.com> 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 <paal...@freemail.hu> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6d71a43e3c2bd2ceed83d001ede064a5c2908098 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git