Renamed thread field "preempt" in "ticks" for clearness.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11079 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
56a33f50ed
commit
71ccd7eb14
|
@ -181,7 +181,7 @@ struct ch_thread {
|
|||
* @brief Number of ticks remaining to this thread.
|
||||
*/
|
||||
#if (CH_CFG_TIME_QUANTUM > 0) || defined(__DOXYGEN__)
|
||||
tslices_t preempt;
|
||||
tslices_t ticks;
|
||||
#endif
|
||||
#if (CH_DBG_THREADS_PROFILING == TRUE) || defined(__DOXYGEN__)
|
||||
/**
|
||||
|
@ -694,7 +694,7 @@ static inline void chSchPreemption(void) {
|
|||
tprio_t p2 = currp->prio;
|
||||
|
||||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
if (currp->preempt > (tslices_t)0) {
|
||||
if (currp->ticks > (tslices_t)0) {
|
||||
if (p1 > p2) {
|
||||
chSchDoRescheduleAhead();
|
||||
}
|
||||
|
|
|
@ -45,9 +45,9 @@
|
|||
"be zero or greater than one"
|
||||
#endif
|
||||
|
||||
#if (CH_CFG_ST_TIMEDELTA > 0) && (CH_CFG_TIME_QUANTUM > 0)
|
||||
#error "CH_CFG_TIME_QUANTUM not supported in tickless mode"
|
||||
#endif
|
||||
//#if (CH_CFG_ST_TIMEDELTA > 0) && (CH_CFG_TIME_QUANTUM > 0)
|
||||
//#error "CH_CFG_TIME_QUANTUM not supported in tickless mode"
|
||||
//#endif
|
||||
|
||||
#if (CH_CFG_ST_TIMEDELTA > 0) && (CH_DBG_THREADS_PROFILING == TRUE)
|
||||
#error "CH_DBG_THREADS_PROFILING not supported in tickless mode"
|
||||
|
|
|
@ -108,7 +108,7 @@ ROMCONST chdebug_t ch_debug = {
|
|||
(uint8_t)0,
|
||||
#endif
|
||||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
(uint8_t)_offsetof(thread_t, preempt),
|
||||
(uint8_t)_offsetof(thread_t, ticks),
|
||||
#else
|
||||
(uint8_t)0,
|
||||
#endif
|
||||
|
|
|
@ -297,7 +297,7 @@ void chSchGoSleepS(tstate_t newstate) {
|
|||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
/* The thread is renouncing its remaining time slices so it will have a new
|
||||
time quantum when it will wakeup.*/
|
||||
otp->preempt = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
otp->ticks = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
#endif
|
||||
|
||||
/* Next thread in ready list becomes current.*/
|
||||
|
@ -485,7 +485,7 @@ bool chSchIsPreemptionRequired(void) {
|
|||
if the first thread on the ready queue has a higher priority.
|
||||
Otherwise, if the running thread has used up its time quantum, reschedule
|
||||
if the first thread on the ready queue has equal or higher priority.*/
|
||||
return (currp->preempt > (tslices_t)0) ? (p1 > p2) : (p1 >= p2);
|
||||
return (currp->ticks > (tslices_t)0) ? (p1 > p2) : (p1 >= p2);
|
||||
#else
|
||||
/* If the round robin preemption feature is not enabled then performs a
|
||||
simpler comparison.*/
|
||||
|
@ -518,7 +518,7 @@ void chSchDoRescheduleBehind(void) {
|
|||
|
||||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
/* It went behind peers so it gets a new time quantum.*/
|
||||
otp->preempt = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
otp->ticks = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
#endif
|
||||
|
||||
/* Placing in ready list behind peers.*/
|
||||
|
@ -582,14 +582,14 @@ void chSchDoReschedule(void) {
|
|||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
/* If CH_CFG_TIME_QUANTUM is enabled then there are two different scenarios
|
||||
to handle on preemption: time quantum elapsed or not.*/
|
||||
if (currp->preempt == (tslices_t)0) {
|
||||
if (currp->ticks == (tslices_t)0) {
|
||||
|
||||
/* The thread consumed its time quantum so it is enqueued behind threads
|
||||
with same priority level, however, it acquires a new time quantum.*/
|
||||
otp = chSchReadyI(otp);
|
||||
|
||||
/* The thread being swapped out receives a new time quantum.*/
|
||||
otp->preempt = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
otp->ticks = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
}
|
||||
else {
|
||||
/* The thread didn't consume all its time quantum so it is put ahead of
|
||||
|
|
|
@ -344,9 +344,9 @@ void chSysTimerHandlerI(void) {
|
|||
|
||||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
/* Running thread has not used up quantum yet? */
|
||||
if (currp->preempt > (tslices_t)0) {
|
||||
if (currp->ticks > (tslices_t)0) {
|
||||
/* Decrement remaining quantum.*/
|
||||
currp->preempt--;
|
||||
currp->ticks--;
|
||||
}
|
||||
#endif
|
||||
#if CH_DBG_THREADS_PROFILING == TRUE
|
||||
|
|
|
@ -91,7 +91,7 @@ thread_t *_thread_init(thread_t *tp, const char *name, tprio_t prio) {
|
|||
tp->state = CH_STATE_WTSTART;
|
||||
tp->flags = CH_FLAG_MODE_STATIC;
|
||||
#if CH_CFG_TIME_QUANTUM > 0
|
||||
tp->preempt = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
tp->ticks = (tslices_t)CH_CFG_TIME_QUANTUM;
|
||||
#endif
|
||||
#if CH_CFG_USE_MUTEXES == TRUE
|
||||
tp->realprio = prio;
|
||||
|
|
Loading…
Reference in New Issue