Message ID | 20250304152510.2832340-8-jerome.forissier@linaro.org |
---|---|
State | New |
Headers | show |
Series | Uthreads | expand |
On 04.03.25 16:24, Jerome Forissier wrote: > Make the schedule() call from the CYCLIC framework a uthread scheduling > point too. This makes sense since schedule() is called from a lot of > places where uthread_schedule() needs to be called. > > Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Stefan Roese <sr@denx.de> Thanks, Stefan > --- > common/cyclic.c | 3 +++ > include/u-boot/schedule.h | 3 +++ > 2 files changed, 6 insertions(+) > > diff --git a/common/cyclic.c b/common/cyclic.c > index fad071a39c6..b695f092f52 100644 > --- a/common/cyclic.c > +++ b/common/cyclic.c > @@ -16,6 +16,7 @@ > #include <linux/list.h> > #include <asm/global_data.h> > #include <u-boot/schedule.h> > +#include <uthread.h> > > DECLARE_GLOBAL_DATA_PTR; > > @@ -100,6 +101,8 @@ void schedule(void) > */ > if (gd) > cyclic_run(); > + > + uthread_schedule(); > } > > int cyclic_unregister_all(void) > diff --git a/include/u-boot/schedule.h b/include/u-boot/schedule.h > index 4fd34c41229..4605971fdcb 100644 > --- a/include/u-boot/schedule.h > +++ b/include/u-boot/schedule.h > @@ -3,6 +3,8 @@ > #ifndef _U_BOOT_SCHEDULE_H > #define _U_BOOT_SCHEDULE_H > > +#include <uthread.h> > + > #if CONFIG_IS_ENABLED(CYCLIC) > /** > * schedule() - Schedule all potentially waiting tasks > @@ -17,6 +19,7 @@ void schedule(void); > > static inline void schedule(void) > { > + uthread_schedule(); > } > > #endif Viele Grüße, Stefan Roese
diff --git a/common/cyclic.c b/common/cyclic.c index fad071a39c6..b695f092f52 100644 --- a/common/cyclic.c +++ b/common/cyclic.c @@ -16,6 +16,7 @@ #include <linux/list.h> #include <asm/global_data.h> #include <u-boot/schedule.h> +#include <uthread.h> DECLARE_GLOBAL_DATA_PTR; @@ -100,6 +101,8 @@ void schedule(void) */ if (gd) cyclic_run(); + + uthread_schedule(); } int cyclic_unregister_all(void) diff --git a/include/u-boot/schedule.h b/include/u-boot/schedule.h index 4fd34c41229..4605971fdcb 100644 --- a/include/u-boot/schedule.h +++ b/include/u-boot/schedule.h @@ -3,6 +3,8 @@ #ifndef _U_BOOT_SCHEDULE_H #define _U_BOOT_SCHEDULE_H +#include <uthread.h> + #if CONFIG_IS_ENABLED(CYCLIC) /** * schedule() - Schedule all potentially waiting tasks @@ -17,6 +19,7 @@ void schedule(void); static inline void schedule(void) { + uthread_schedule(); } #endif