All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Dovetail prep work, cleanup series
@ 2020-12-05 12:00 Philippe Gerum
  2020-12-05 12:00 ` [PATCH 1/4] cobalt/arm: disable unlocked context switching Philippe Gerum
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Philippe Gerum @ 2020-12-05 12:00 UTC (permalink / raw)
  To: xenomai

From: Philippe Gerum <rpm@xenomai.org>

This series contains prep work to the addition of a pipeline
abstraction layer towards Xenomai 3.2 supporting Dovetail, cleaning up
obsolete code. Based on the -next branch.

Philippe Gerum (4):
  cobalt/arm: disable unlocked context switching
  cobalt/kernel: drop support for preemptible context switching
  cobalt/syscall: use raw_printk() for serial debug output
  cobalt/clock: drop xnclock_get_host_time()

 include/cobalt/kernel/clock.h       |  2 -
 include/cobalt/kernel/sched.h       | 34 ---------------
 include/cobalt/kernel/thread.h      |  2 +-
 include/cobalt/uapi/kernel/thread.h |  1 -
 kernel/cobalt/arch/arm/Kconfig      | 22 ----------
 kernel/cobalt/clock.c               |  6 ---
 kernel/cobalt/posix/syscall.c       |  2 +-
 kernel/cobalt/sched.c               | 66 ++---------------------------
 kernel/cobalt/thread.c              | 23 +---------
 kernel/cobalt/timer.c               |  2 +-
 10 files changed, 7 insertions(+), 153 deletions(-)

-- 
2.26.2



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

* [PATCH 1/4] cobalt/arm: disable unlocked context switching
  2020-12-05 12:00 [PATCH 0/4] Dovetail prep work, cleanup series Philippe Gerum
@ 2020-12-05 12:00 ` Philippe Gerum
  2020-12-05 12:00 ` [PATCH 2/4] cobalt/kernel: drop support for preemptible " Philippe Gerum
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Philippe Gerum @ 2020-12-05 12:00 UTC (permalink / raw)
  To: xenomai

From: Philippe Gerum <rpm@xenomai.org>

Allowing the task context switching code to be preempted by local
interrupts was an optimization targeted at low-end ARM armv4/5 cores
with sluggish VIVT caches, at the expense of significant complexity in
the IRQ pipeline and Cobalt scheduler. Support for armv4/5 is long
gone for Xenomai, and maintaining such feature is not worth the burden
with the VIPT caches exhibited by current micro-architectures such as
armv7.

Dovetail provides some form of preemptible context switching of
in-band tasks specifically, which requires no support from Cobalt.

So we may disable this Cobalt-specific feature entirely for ARM.

Signed-off-by: Philippe Gerum <rpm@xenomai.org>
---
 kernel/cobalt/arch/arm/Kconfig | 22 ----------------------
 1 file changed, 22 deletions(-)

diff --git a/kernel/cobalt/arch/arm/Kconfig b/kernel/cobalt/arch/arm/Kconfig
index 0c4e0aa82..d81ff4c59 100644
--- a/kernel/cobalt/arch/arm/Kconfig
+++ b/kernel/cobalt/arch/arm/Kconfig
@@ -1,28 +1,6 @@
 source "kernel/xenomai/Kconfig"
 source "drivers/xenomai/Kconfig"
 
-menu "Machine/platform-specific options"
-
-config XENO_ARCH_UNLOCKED_SWITCH
-	bool "Unlocked context switch"
-	default y
-	help
-	The Cobalt core may allow non-atomic execution of the
-	machine-dependent context switching code, so that other CPUs
-	and/or local interrupts may execute concurrently.
-
-	This option reduces interrupt latency when costly cache and
-	TLB flushes are required to switch context.
-
-	You definitely want to enable that option on low-end ARM
-	platforms.
-endmenu
-
-config IPIPE_WANT_PREEMPTIBLE_SWITCH
-	bool
-	default y if XENO_ARCH_UNLOCKED_SWITCH
-	default n if !XENO_ARCH_UNLOCKED_SWITCH
-
 config XENO_ARCH_FPU
 	def_bool VFP
 
-- 
2.26.2



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

* [PATCH 2/4] cobalt/kernel: drop support for preemptible context switching
  2020-12-05 12:00 [PATCH 0/4] Dovetail prep work, cleanup series Philippe Gerum
  2020-12-05 12:00 ` [PATCH 1/4] cobalt/arm: disable unlocked context switching Philippe Gerum
@ 2020-12-05 12:00 ` Philippe Gerum
  2020-12-05 12:00 ` [PATCH 3/4] cobalt/syscall: use raw_printk() for serial debug output Philippe Gerum
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Philippe Gerum @ 2020-12-05 12:00 UTC (permalink / raw)
  To: xenomai

From: Philippe Gerum <rpm@xenomai.org>

We have no architecture enabling this feature anymore.

Signed-off-by: Philippe Gerum <rpm@xenomai.org>
---
 include/cobalt/kernel/sched.h       | 34 ---------------
 include/cobalt/kernel/thread.h      |  2 +-
 include/cobalt/uapi/kernel/thread.h |  1 -
 kernel/cobalt/sched.c               | 66 ++---------------------------
 kernel/cobalt/thread.c              | 23 +---------
 5 files changed, 5 insertions(+), 121 deletions(-)

diff --git a/include/cobalt/kernel/sched.h b/include/cobalt/kernel/sched.h
index 1f5714fe0..5d278838f 100644
--- a/include/cobalt/kernel/sched.h
+++ b/include/cobalt/kernel/sched.h
@@ -94,9 +94,6 @@ struct xnsched {
 	struct xntimer rrbtimer;
 	/*!< Root thread control block. */
 	struct xnthread rootcb;
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-	struct xnthread *last;
-#endif
 #ifdef CONFIG_XENO_ARCH_FPU
 	/*!< Thread owning the current FPU context. */
 	struct xnthread *fpuholder;
@@ -351,37 +348,6 @@ static inline int xnsched_primary_p(void)
 	return !xnsched_unblockable_p();
 }
 
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-
-struct xnsched *xnsched_finish_unlocked_switch(struct xnsched *sched);
-
-#define xnsched_resched_after_unlocked_switch() xnsched_run()
-
-static inline
-int xnsched_maybe_resched_after_unlocked_switch(struct xnsched *sched)
-{
-	return sched->status & XNRESCHED;
-}
-
-#else /* !CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
-
-static inline struct xnsched *
-xnsched_finish_unlocked_switch(struct xnsched *sched)
-{
-	XENO_BUG_ON(COBALT, !hard_irqs_disabled());
-	return xnsched_current();
-}
-
-static inline void xnsched_resched_after_unlocked_switch(void) { }
-
-static inline int
-xnsched_maybe_resched_after_unlocked_switch(struct xnsched *sched)
-{
-	return 0;
-}
-
-#endif /* !CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
-
 bool xnsched_set_effective_priority(struct xnthread *thread,
 				    int prio);
 
diff --git a/include/cobalt/kernel/thread.h b/include/cobalt/kernel/thread.h
index 03adb2529..21a8603b4 100644
--- a/include/cobalt/kernel/thread.h
+++ b/include/cobalt/kernel/thread.h
@@ -38,7 +38,7 @@
  * @addtogroup cobalt_core_thread
  * @{
  */
-#define XNTHREAD_BLOCK_BITS   (XNSUSP|XNPEND|XNDELAY|XNDORMANT|XNRELAX|XNMIGRATE|XNHELD|XNDBGSTOP)
+#define XNTHREAD_BLOCK_BITS   (XNSUSP|XNPEND|XNDELAY|XNDORMANT|XNRELAX|XNHELD|XNDBGSTOP)
 #define XNTHREAD_MODE_BITS    (XNRRB|XNWARN|XNTRAPLB)
 
 struct xnthread;
diff --git a/include/cobalt/uapi/kernel/thread.h b/include/cobalt/uapi/kernel/thread.h
index 0802a16dc..664def08e 100644
--- a/include/cobalt/uapi/kernel/thread.h
+++ b/include/cobalt/uapi/kernel/thread.h
@@ -37,7 +37,6 @@
 #define XNZOMBIE  0x00000020 /**< Zombie thread in deletion process */
 #define XNMAPPED  0x00000040 /**< Thread is mapped to a linux task */
 #define XNRELAX   0x00000080 /**< Relaxed shadow thread (blocking bit) */
-#define XNMIGRATE 0x00000100 /**< Thread is currently migrating to another CPU. */
 #define XNHELD    0x00000200 /**< Thread is held to process emergency. */
 #define XNBOOST   0x00000400 /**< PI/PP boost undergoing */
 #define XNSSTEP   0x00000800 /**< Single-stepped by debugger */
diff --git a/kernel/cobalt/sched.c b/kernel/cobalt/sched.c
index 75adbc49e..7ff8a6c82 100644
--- a/kernel/cobalt/sched.c
+++ b/kernel/cobalt/sched.c
@@ -345,34 +345,6 @@ struct xnthread *xnsched_pick_next(struct xnsched *sched)
 #endif /* CONFIG_XENO_OPT_SCHED_CLASSES */
 }
 
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-
-struct xnsched *xnsched_finish_unlocked_switch(struct xnsched *sched)
-{
-	struct xnthread *last;
-	spl_t s;
-
-	xnlock_get_irqsave(&nklock, s);
-
-#ifdef CONFIG_SMP
-	/* If current thread migrated while suspended */
-	sched = xnsched_current();
-#endif /* CONFIG_SMP */
-
-	last = sched->last;
-	sched->status &= ~XNINSW;
-
-	/* Detect a thread which has migrated. */
-	if (last->sched != sched) {
-		xnsched_putback(last);
-		xnthread_clear_state(last, XNMIGRATE);
-	}
-
-	return sched;
-}
-
-#endif /* CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH */
-
 void xnsched_lock(void)
 {
 	struct xnsched *sched = xnsched_current();
@@ -628,17 +600,8 @@ void xnsched_migrate(struct xnthread *thread, struct xnsched *sched)
 {
 	xnsched_set_resched(thread->sched);
 	migrate_thread(thread, sched);
-
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-	/*
-	 * Mark the thread in flight, xnsched_finish_unlocked_switch()
-	 * will put the thread on the remote runqueue.
-	 */
-	xnthread_set_state(thread, XNMIGRATE);
-#else
 	/* Move thread to the remote run queue. */
 	xnsched_putback(thread);
-#endif
 }
 
 /*
@@ -840,18 +803,6 @@ struct xnthread *xnsched_rt_pick(struct xnsched *sched)
 
 #endif /* !CONFIG_XENO_OPT_SCALABLE_SCHED */
 
-static inline void switch_context(struct xnsched *sched,
-				  struct xnthread *prev, struct xnthread *next)
-{
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-	sched->last = prev;
-	sched->status |= XNINSW;
-	xnlock_clear_irqon(&nklock);
-#endif
-
-	xnarch_switch_to(prev, next);
-}
-
 /**
  * @fn int xnsched_run(void)
  * @brief The rescheduling procedure.
@@ -920,15 +871,9 @@ static inline int test_resched(struct xnsched *sched)
 
 static inline void enter_root(struct xnthread *root)
 {
-	struct xnarchtcb *rootcb __maybe_unused = xnthread_archtcb(root);
-
 #ifdef CONFIG_XENO_OPT_WATCHDOG
 	xntimer_stop(&root->sched->wdtimer);
 #endif
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-	if (rootcb->core.mm == NULL)
-		set_ti_thread_flag(rootcb->core.tip, TIF_MMSWITCH_INT);
-#endif
 }
 
 static inline void leave_root(struct xnthread *root)
@@ -984,7 +929,7 @@ int ___xnsched_run(struct xnsched *sched)
 	 * "current" for disambiguating.
 	 */
 	xntrace_pid(task_pid_nr(current), xnthread_current_priority(curr));
-reschedule:
+
 	if (xnthread_test_state(curr, XNUSER))
 		do_lazy_user_work(curr);
 
@@ -1030,8 +975,7 @@ reschedule:
 
 	xnstat_exectime_switch(sched, &next->stat.account);
 	xnstat_counter_inc(&next->stat.csw);
-
-	switch_context(sched, prev, next);
+	xnarch_switch_to(prev, next);
 
 	/*
 	 * Test whether we transitioned from primary mode to secondary
@@ -1043,7 +987,7 @@ reschedule:
 		goto shadow_epilogue;
 
 	switched = 1;
-	sched = xnsched_finish_unlocked_switch(sched);
+	sched = xnsched_current();
 	/*
 	 * Re-read the currently running thread, this is needed
 	 * because of relaxed/hardened transitions.
@@ -1052,10 +996,6 @@ reschedule:
 	xnthread_switch_fpu(sched);
 	xntrace_pid(task_pid_nr(current), xnthread_current_priority(curr));
 out:
-	if (switched &&
-	    xnsched_maybe_resched_after_unlocked_switch(sched))
-		goto reschedule;
-
 	xnlock_put_irqrestore(&nklock, s);
 
 	return switched;
diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index 5260fb1e7..49f749f1c 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -406,22 +406,6 @@ void xnthread_prepare_wait(struct xnthread_wait_context *wc)
 }
 EXPORT_SYMBOL_GPL(xnthread_prepare_wait);
 
-static inline int moving_target(struct xnsched *sched, struct xnthread *thread)
-{
-	int ret = 0;
-#ifdef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH
-	/*
-	 * When deleting a thread in the course of a context switch or
-	 * in flight to another CPU with nklock unlocked on a distant
-	 * CPU, do nothing, this case will be caught in
-	 * xnsched_finish_unlocked_switch.
-	 */
-	ret = (sched->status & XNINSW) ||
-		xnthread_test_state(thread, XNMIGRATE);
-#endif
-	return ret;
-}
-
 #ifdef CONFIG_XENO_ARCH_FPU
 
 static inline void giveup_fpu(struct xnsched *sched,
@@ -494,10 +478,6 @@ static inline void cleanup_tcb(struct xnthread *curr) /* nklock held, irqs off *
 	release_all_ownerships(curr);
 
 	giveup_fpu(sched, curr);
-
-	if (moving_target(sched, curr))
-		return;
-
 	xnsched_forget(curr);
 	xnthread_deregister(curr);
 }
@@ -1954,11 +1934,10 @@ int xnthread_harden(void)
 	}
 
 	/* "current" is now running into the Xenomai domain. */
-	sched = xnsched_finish_unlocked_switch(thread->sched);
+	sched = xnsched_current();
 	xnthread_switch_fpu(sched);
 
 	xnlock_clear_irqon(&nklock);
-	xnsched_resched_after_unlocked_switch();
 	xnthread_test_cancel();
 
 	trace_cobalt_shadow_hardened(thread);
-- 
2.26.2



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

* [PATCH 3/4] cobalt/syscall: use raw_printk() for serial debug output
  2020-12-05 12:00 [PATCH 0/4] Dovetail prep work, cleanup series Philippe Gerum
  2020-12-05 12:00 ` [PATCH 1/4] cobalt/arm: disable unlocked context switching Philippe Gerum
  2020-12-05 12:00 ` [PATCH 2/4] cobalt/kernel: drop support for preemptible " Philippe Gerum
@ 2020-12-05 12:00 ` Philippe Gerum
  2020-12-05 12:00 ` [PATCH 4/4] cobalt/clock: drop xnclock_get_host_time() Philippe Gerum
  2020-12-11  6:58 ` [PATCH 0/4] Dovetail prep work, cleanup series Jan Kiszka
  4 siblings, 0 replies; 7+ messages in thread
From: Philippe Gerum @ 2020-12-05 12:00 UTC (permalink / raw)
  To: xenomai

From: Philippe Gerum <rpm@xenomai.org>

__ipipe_serial_debug() is a legacy wrapper to the current raw_printk()
service. Drop the last in-tree reference to this obsolete call.

No functional change is introduced.

Signed-off-by: Philippe Gerum <rpm@xenomai.org>
---
 kernel/cobalt/posix/syscall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index a9c979903..0a09322be 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -262,7 +262,7 @@ static COBALT_SYSCALL(serialdbg, current,
 			n = sizeof(buf);
 		if (cobalt_copy_from_user(buf, u_msg, n))
 			return -EFAULT;
-		__ipipe_serial_debug("%.*s", n, buf);
+		raw_printk("%.*s", n, buf);
 		u_msg += n;
 		len -= n;
 	}
-- 
2.26.2



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

* [PATCH 4/4] cobalt/clock: drop xnclock_get_host_time()
  2020-12-05 12:00 [PATCH 0/4] Dovetail prep work, cleanup series Philippe Gerum
                   ` (2 preceding siblings ...)
  2020-12-05 12:00 ` [PATCH 3/4] cobalt/syscall: use raw_printk() for serial debug output Philippe Gerum
@ 2020-12-05 12:00 ` Philippe Gerum
  2020-12-11  6:58 ` [PATCH 0/4] Dovetail prep work, cleanup series Jan Kiszka
  4 siblings, 0 replies; 7+ messages in thread
From: Philippe Gerum @ 2020-12-05 12:00 UTC (permalink / raw)
  To: xenomai

From: Philippe Gerum <rpm@xenomai.org>

No point in abstracting xnclock_get_host_time() and actually
counter-intuitive since it refers to the host-managed wallclock time,
not to any Xenomai-controlled clock device. Fix the single in-tree
user and drop this call.

Signed-off-by: Philippe Gerum <rpm@xenomai.org>
---
 include/cobalt/kernel/clock.h | 2 --
 kernel/cobalt/clock.c         | 6 ------
 kernel/cobalt/timer.c         | 2 +-
 3 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/include/cobalt/kernel/clock.h b/include/cobalt/kernel/clock.h
index c26776a0b..94dfd2f99 100644
--- a/include/cobalt/kernel/clock.h
+++ b/include/cobalt/kernel/clock.h
@@ -330,8 +330,6 @@ static inline xnticks_t xnclock_read_realtime(struct xnclock *clock)
 unsigned long long xnclock_divrem_billion(unsigned long long value,
 					  unsigned long *rem);
 
-xnticks_t xnclock_get_host_time(void);
-
 #ifdef CONFIG_XENO_OPT_VFILE
 
 void xnclock_init_proc(void);
diff --git a/kernel/cobalt/clock.c b/kernel/cobalt/clock.c
index f8291b006..2a5b61760 100644
--- a/kernel/cobalt/clock.c
+++ b/kernel/cobalt/clock.c
@@ -348,12 +348,6 @@ void xnclock_adjust(struct xnclock *clock, xnsticks_t delta)
 }
 EXPORT_SYMBOL_GPL(xnclock_adjust);
 
-xnticks_t xnclock_get_host_time(void)
-{
-	return ktime_to_ns(ktime_get_real());
-}
-EXPORT_SYMBOL_GPL(xnclock_get_host_time);
-
 xnticks_t xnclock_core_read_monotonic(void)
 {
 	return xnclock_core_ticks_to_ns(xnclock_core_read_raw());
diff --git a/kernel/cobalt/timer.c b/kernel/cobalt/timer.c
index b8b60c4e5..ccd3c3b70 100644
--- a/kernel/cobalt/timer.c
+++ b/kernel/cobalt/timer.c
@@ -853,7 +853,7 @@ int xntimer_grab_hardware(void)
 #endif /* CONFIG_XENO_OPT_STATS_IRQS */
 
 	nkclock.wallclock_offset =
-		xnclock_get_host_time() - xnclock_read_monotonic(&nkclock);
+		ktime_to_ns(ktime_get_real()) - xnclock_read_monotonic(&nkclock);
 
 	ret = xntimer_setup_ipi();
 	if (ret)
-- 
2.26.2



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

* Re: [PATCH 0/4] Dovetail prep work, cleanup series
  2020-12-05 12:00 [PATCH 0/4] Dovetail prep work, cleanup series Philippe Gerum
                   ` (3 preceding siblings ...)
  2020-12-05 12:00 ` [PATCH 4/4] cobalt/clock: drop xnclock_get_host_time() Philippe Gerum
@ 2020-12-11  6:58 ` Jan Kiszka
  2020-12-14 15:47   ` Jan Kiszka
  4 siblings, 1 reply; 7+ messages in thread
From: Jan Kiszka @ 2020-12-11  6:58 UTC (permalink / raw)
  To: Philippe Gerum, xenomai

On 05.12.20 13:00, Philippe Gerum wrote:
> From: Philippe Gerum <rpm@xenomai.org>
> 
> This series contains prep work to the addition of a pipeline
> abstraction layer towards Xenomai 3.2 supporting Dovetail, cleaning up
> obsolete code. Based on the -next branch.
> 
> Philippe Gerum (4):
>   cobalt/arm: disable unlocked context switching
>   cobalt/kernel: drop support for preemptible context switching
>   cobalt/syscall: use raw_printk() for serial debug output
>   cobalt/clock: drop xnclock_get_host_time()
> 
>  include/cobalt/kernel/clock.h       |  2 -
>  include/cobalt/kernel/sched.h       | 34 ---------------
>  include/cobalt/kernel/thread.h      |  2 +-
>  include/cobalt/uapi/kernel/thread.h |  1 -
>  kernel/cobalt/arch/arm/Kconfig      | 22 ----------
>  kernel/cobalt/clock.c               |  6 ---
>  kernel/cobalt/posix/syscall.c       |  2 +-
>  kernel/cobalt/sched.c               | 66 ++---------------------------
>  kernel/cobalt/thread.c              | 23 +---------
>  kernel/cobalt/timer.c               |  2 +-
>  10 files changed, 7 insertions(+), 153 deletions(-)
> 

These changes are a good branching point for stable/v3.1.x. Preparing
that now...

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


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

* Re: [PATCH 0/4] Dovetail prep work, cleanup series
  2020-12-11  6:58 ` [PATCH 0/4] Dovetail prep work, cleanup series Jan Kiszka
@ 2020-12-14 15:47   ` Jan Kiszka
  0 siblings, 0 replies; 7+ messages in thread
From: Jan Kiszka @ 2020-12-14 15:47 UTC (permalink / raw)
  To: Philippe Gerum, xenomai

On 11.12.20 07:58, Jan Kiszka via Xenomai wrote:
> On 05.12.20 13:00, Philippe Gerum wrote:
>> From: Philippe Gerum <rpm@xenomai.org>
>>
>> This series contains prep work to the addition of a pipeline
>> abstraction layer towards Xenomai 3.2 supporting Dovetail, cleaning up
>> obsolete code. Based on the -next branch.
>>
>> Philippe Gerum (4):
>>   cobalt/arm: disable unlocked context switching
>>   cobalt/kernel: drop support for preemptible context switching
>>   cobalt/syscall: use raw_printk() for serial debug output
>>   cobalt/clock: drop xnclock_get_host_time()
>>
>>  include/cobalt/kernel/clock.h       |  2 -
>>  include/cobalt/kernel/sched.h       | 34 ---------------
>>  include/cobalt/kernel/thread.h      |  2 +-
>>  include/cobalt/uapi/kernel/thread.h |  1 -
>>  kernel/cobalt/arch/arm/Kconfig      | 22 ----------
>>  kernel/cobalt/clock.c               |  6 ---
>>  kernel/cobalt/posix/syscall.c       |  2 +-
>>  kernel/cobalt/sched.c               | 66 ++---------------------------
>>  kernel/cobalt/thread.c              | 23 +---------
>>  kernel/cobalt/timer.c               |  2 +-
>>  10 files changed, 7 insertions(+), 153 deletions(-)
>>
> 
> These changes are a good branching point for stable/v3.1.x. Preparing
> that now...
> 

All 4 pushed to next now.

Thanks
Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


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

end of thread, other threads:[~2020-12-14 15:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-05 12:00 [PATCH 0/4] Dovetail prep work, cleanup series Philippe Gerum
2020-12-05 12:00 ` [PATCH 1/4] cobalt/arm: disable unlocked context switching Philippe Gerum
2020-12-05 12:00 ` [PATCH 2/4] cobalt/kernel: drop support for preemptible " Philippe Gerum
2020-12-05 12:00 ` [PATCH 3/4] cobalt/syscall: use raw_printk() for serial debug output Philippe Gerum
2020-12-05 12:00 ` [PATCH 4/4] cobalt/clock: drop xnclock_get_host_time() Philippe Gerum
2020-12-11  6:58 ` [PATCH 0/4] Dovetail prep work, cleanup series Jan Kiszka
2020-12-14 15:47   ` Jan Kiszka

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.