Changeset 43114c5 in mainline for src/time/clock.c


Ignore:
Timestamp:
2005-04-09T18:22:53Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8262010
Parents:
e6ba9a3f
Message:

Introduce macros CPU, THREAD, TASK and use them to replace the→cpu, the→thread, the→task.
Later on, this will make it possible to reference *current* cpu, thread and/or task without the aid from virtual memory.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/time/clock.c

    re6ba9a3f r43114c5  
    5858         * run all expired timeouts as you visit them.
    5959         */
    60         spinlock_lock(&the->cpu->timeoutlock);
    61         while ((l = the->cpu->timeout_active_head.next) != &the->cpu->timeout_active_head) {
     60        spinlock_lock(&CPU->timeoutlock);
     61        while ((l = CPU->timeout_active_head.next) != &CPU->timeout_active_head) {
    6262                h = list_get_instance(l, timeout_t, link);
    6363                spinlock_lock(&h->lock);
     
    7171                timeout_reinitialize(h);
    7272                spinlock_unlock(&h->lock);     
    73                 spinlock_unlock(&the->cpu->timeoutlock);
     73                spinlock_unlock(&CPU->timeoutlock);
    7474
    7575                f(arg);
    7676
    77                 spinlock_lock(&the->cpu->timeoutlock);
     77                spinlock_lock(&CPU->timeoutlock);
    7878        }
    79         spinlock_unlock(&the->cpu->timeoutlock);
     79        spinlock_unlock(&CPU->timeoutlock);
    8080
    8181        /*
    82          * Do CPU usage accounting and find out whether to preempt the->thread.
     82         * Do CPU usage accounting and find out whether to preempt THREAD.
    8383         */
    8484
    85         if (the->thread) {
    86                 spinlock_lock(&the->cpu->lock);
    87                 the->cpu->needs_relink++;
    88                 spinlock_unlock(&the->cpu->lock);       
     85        if (THREAD) {
     86                spinlock_lock(&CPU->lock);
     87                CPU->needs_relink++;
     88                spinlock_unlock(&CPU->lock);   
    8989       
    90                 spinlock_lock(&the->thread->lock);
    91                 if (!the->thread->ticks--) {
    92                         spinlock_unlock(&the->thread->lock);
     90                spinlock_lock(&THREAD->lock);
     91                if (!THREAD->ticks--) {
     92                        spinlock_unlock(&THREAD->lock);
    9393                        scheduler();
    9494                }
    9595                else {
    96                         spinlock_unlock(&the->thread->lock);
     96                        spinlock_unlock(&THREAD->lock);
    9797                }
    9898        }
Note: See TracChangeset for help on using the changeset viewer.