All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] Dovetail integration - the finals
@ 2021-06-11 18:05 Jan Kiszka
  2021-06-11 18:05 ` [PATCH 01/17] cobalt/thread: Rework kthread check for xnthread_signal Jan Kiszka
                   ` (17 more replies)
  0 siblings, 18 replies; 25+ messages in thread
From: Jan Kiszka @ 2021-06-11 18:05 UTC (permalink / raw)
  To: xenomai

Now the final bits to git dovetail / 5.10 support into mainline. The
last missing piece was the avoidance xnmalloc in critical paths when
submitting inband work. I've used Hongzhan's patch for xnthread_signal
and also Philippe's patches for the remaining cases. The outcome seems
to work fine for both I-pipe and Dovetail now - but please review!

Not included are necessary RTDM extensions and the addition of latmus as
currently still queued in wip/dovetail. There were some open issues, but
those could not be easily addressed on top of next.

On top, I would also still like to understand - and ideally address
prior to releasing a new major version - if we cannot align the ARM
syscall ABI of Xenomai to the kernel /wrt argument passing. Now is a
good chance to do that.

Jan


CC: Philippe Gerum <rpm@xenomai.org>

Jan Kiszka (9):
  cobalt/thread: Rework kthread check for xnthread_signal
  cobalt/thread: Move xnthread_signal work off the stack
  cobalt/thread: Privatize xnthread_map to map_kthread
  cobalt/thread: Pull kthread inband work onto creator stack
  cobalt/thread: Make sure relax inband work is on a stack outliving the
    wakeup
  lib/cobalt: Reorder low_init for having cobalt_use_legacy_tsc earlier
    available
  cobalt/tick: dovetail: Drop pointless inline specifier from
    pipeline_must_force_program_tick
  cobalt/syscall: Account for different syscall argument marshaling
  ci: Add arm, arm64 and x86 dovetail targets for kernel 5.10

Philippe Gerum (8):
  cobalt/thread: dovetail: keep hard irqs off on transition to in-band
  cobalt/sched: dovetail: prevent early scheduling on uninit runqueues
  cobalt/arm: dovetail: add architecture bits
  lib/cobalt/arm: dovetail: skip detection of KUSER_TSC support
  lib/cobalt/arm64: dovetail: skip detection of KUSER_TSC support
  cobalt/tick: dovetail: improve accuracy of the host tick delay
  cobalt/clock: dovetail: abstract interface to hardware TSC
  cobalt/arm64: dovetail: add architecture bits

 .gitlab-ci.yml                                |  26 ++
 .../kernel/dovetail/pipeline/pipeline.h       |  11 +
 .../cobalt/kernel/dovetail/pipeline/sched.h   |  12 +
 .../cobalt/kernel/dovetail/pipeline/tick.h    |   2 +-
 .../cobalt/kernel/ipipe/pipeline/pipeline.h   |  12 +
 include/cobalt/kernel/ipipe/pipeline/sched.h  |  20 +
 include/cobalt/kernel/thread.h                |  24 +-
 include/cobalt/sys/cobalt.h                   |   2 +
 include/copperplate/clockobj.h                |  12 +-
 kernel/cobalt/arch/arm/Kconfig                |   4 +
 kernel/cobalt/arch/arm/dovetail/Makefile      |   5 +
 .../include/asm/xenomai/calibration.h         |  39 ++
 .../dovetail/include/asm/xenomai/features.h   |  30 ++
 .../arm/dovetail/include/asm/xenomai/fptest.h |  52 +++
 .../dovetail}/include/asm/xenomai/machine.h   |  67 +--
 .../dovetail/include/asm/xenomai/syscall.h    | 101 +++++
 .../dovetail/include/asm/xenomai/syscall32.h  |  24 ++
 .../arm/dovetail/include/asm/xenomai/thread.h |  32 ++
 .../dovetail/include/asm/xenomai/wrappers.h   |  27 ++
 kernel/cobalt/arch/arm/dovetail/machine.c     |  44 ++
 kernel/cobalt/arch/arm64/dovetail/Makefile    |   5 +
 .../include/asm/xenomai/calibration.h         |  24 ++
 .../dovetail/include/asm/xenomai/features.h   |  15 +
 .../dovetail/include/asm/xenomai/fptest.h     |  35 ++
 .../dovetail/include/asm/xenomai/machine.h    |  33 ++
 .../dovetail/include/asm/xenomai/syscall.h    |  63 +++
 .../dovetail/include/asm/xenomai/syscall32.h  |  12 +
 .../dovetail/include/asm/xenomai/thread.h     |  22 +
 .../dovetail/include/asm/xenomai/wrappers.h   |  15 +
 kernel/cobalt/arch/arm64/dovetail/machine.c   |  41 ++
 .../arm64/ipipe/include/asm/xenomai/machine.h |   3 +
 kernel/cobalt/arch/arm64/ipipe/machine.c      |   3 +
 .../dovetail/include/asm/xenomai/syscall.h    |   5 -
 kernel/cobalt/dovetail/kevents.c              |   2 +-
 kernel/cobalt/dovetail/sched.c                |   1 +
 kernel/cobalt/dovetail/tick.c                 |  14 +-
 .../include/asm-generic/xenomai/syscall.h     |   7 -
 kernel/cobalt/ipipe/kevents.c                 |   2 +-
 kernel/cobalt/posix/syscall.c                 |  14 +-
 kernel/cobalt/sched.c                         |  10 +-
 kernel/cobalt/synch.c                         |   4 +-
 kernel/cobalt/thread.c                        | 402 ++++++++----------
 lib/cobalt/arch/arm/features.c                |   4 +
 lib/cobalt/arch/arm/include/asm/xenomai/tsc.h |   2 +-
 lib/cobalt/arch/arm64/features.c              |   4 +
 .../arch/arm64/include/asm/xenomai/tsc.h      |   2 +-
 .../arch/powerpc/include/asm/xenomai/tsc.h    |   2 +-
 lib/cobalt/arch/x86/include/asm/xenomai/tsc.h |   2 +-
 lib/cobalt/clock.c                            |   6 +-
 lib/cobalt/init.c                             |   2 +-
 lib/cobalt/internal.c                         |  18 +-
 lib/copperplate/clockobj.c                    |  12 +-
 testsuite/smokey/tsc/tsc.c                    |   2 +-
 53 files changed, 1030 insertions(+), 304 deletions(-)
 create mode 100644 kernel/cobalt/arch/arm/dovetail/Makefile
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/calibration.h
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/features.h
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/fptest.h
 copy kernel/cobalt/arch/{arm64/ipipe => arm/dovetail}/include/asm/xenomai/machine.h (59%)
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/syscall.h
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/syscall32.h
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/thread.h
 create mode 100644 kernel/cobalt/arch/arm/dovetail/include/asm/xenomai/wrappers.h
 create mode 100644 kernel/cobalt/arch/arm/dovetail/machine.c
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/Makefile
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/calibration.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/features.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/fptest.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/machine.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/syscall.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/syscall32.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/thread.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/include/asm/xenomai/wrappers.h
 create mode 100644 kernel/cobalt/arch/arm64/dovetail/machine.c

-- 
2.26.2



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2022-01-24 17:05 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-11 18:05 [PATCH 00/17] Dovetail integration - the finals Jan Kiszka
2021-06-11 18:05 ` [PATCH 01/17] cobalt/thread: Rework kthread check for xnthread_signal Jan Kiszka
2021-06-11 18:05 ` [PATCH 02/17] cobalt/thread: Move xnthread_signal work off the stack Jan Kiszka
2021-06-11 18:05 ` [PATCH 03/17] cobalt/thread: Privatize xnthread_map to map_kthread Jan Kiszka
2021-06-11 18:05 ` [PATCH 04/17] cobalt/thread: Pull kthread inband work onto creator stack Jan Kiszka
2021-06-11 18:05 ` [PATCH 05/17] cobalt/thread: Make sure relax inband work is on a stack outliving the wakeup Jan Kiszka
2021-06-11 18:05 ` [PATCH 06/17] cobalt/thread: dovetail: keep hard irqs off on transition to in-band Jan Kiszka
2022-01-24 16:15   ` Jan Kiszka
2022-01-24 16:55     ` Philippe Gerum
2022-01-24 17:00       ` Philippe Gerum
2022-01-24 17:05         ` Jan Kiszka
2021-06-11 18:05 ` [PATCH 07/17] cobalt/sched: dovetail: prevent early scheduling on uninit runqueues Jan Kiszka
2021-06-11 18:05 ` [PATCH 08/17] cobalt/arm: dovetail: add architecture bits Jan Kiszka
2021-06-11 18:05 ` [PATCH 09/17] lib/cobalt: Reorder low_init for having cobalt_use_legacy_tsc earlier available Jan Kiszka
2021-06-11 18:05 ` [PATCH 10/17] lib/cobalt/arm: dovetail: skip detection of KUSER_TSC support Jan Kiszka
2021-06-11 18:05 ` [PATCH 11/17] lib/cobalt/arm64: " Jan Kiszka
2021-06-11 18:05 ` [PATCH 12/17] cobalt/tick: dovetail: improve accuracy of the host tick delay Jan Kiszka
2021-06-11 18:05 ` [PATCH 13/17] cobalt/tick: dovetail: Drop pointless inline specifier from pipeline_must_force_program_tick Jan Kiszka
2021-06-11 18:05 ` [PATCH 14/17] cobalt/clock: dovetail: abstract interface to hardware TSC Jan Kiszka
2021-06-11 18:05 ` [PATCH 15/17] cobalt/arm64: dovetail: add architecture bits Jan Kiszka
2021-06-11 18:05 ` [PATCH 16/17] cobalt/syscall: Account for different syscall argument marshaling Jan Kiszka
2021-06-11 18:05 ` [PATCH 17/17] ci: Add arm, arm64 and x86 dovetail targets for kernel 5.10 Jan Kiszka
2021-06-13 17:07 ` [PATCH 00/17] Dovetail integration - the finals Philippe Gerum
2021-06-13 17:12   ` Jan Kiszka
2021-06-14  6:24     ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.