From fc6bc1ad398d5fa2085320cab6cc33905f5f943d Mon Sep 17 00:00:00 2001 From: shaojinchun Date: Thu, 22 Nov 2018 14:40:43 +0800 Subject: Add smp support to RT-Thread 4.0 --- src/clock.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/clock.c') diff --git a/src/clock.c b/src/clock.c index 651465e0a8..1bedb4e06a 100644 --- a/src/clock.c +++ b/src/clock.c @@ -12,12 +12,17 @@ * 2010-05-20 Bernard fix the tick exceeds the maximum limits * 2010-07-13 Bernard fix rt_tick_from_millisecond issue found by kuronca * 2011-06-26 Bernard add rt_tick_set function. + * 2018-11-22 Jesven add per cpu tick */ #include #include +#ifdef RT_USING_SMP +#define rt_tick rt_cpu_index(0)->tick +#else static rt_tick_t rt_tick = 0; +#endif extern void rt_timer_check(void); @@ -71,7 +76,11 @@ void rt_tick_increase(void) struct rt_thread *thread; /* increase the global tick */ +#ifdef RT_USING_SMP + rt_cpu_self()->tick ++; +#else ++ rt_tick; +#endif /* check time slice */ thread = rt_thread_self(); -- cgit v1.3.1