Changeset 88169d9 in mainline


Ignore:
Timestamp:
2006-06-07T00:34:09Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
977649b
Parents:
590cb380
Message:

Move comment.

Do TLB shootdown also when allocating new ASID.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • genarch/src/mm/asid.c

    r590cb380 r88169d9  
    125125                 */
    126126                tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);
     127                tlb_invalidate_asid(asid);
    127128                tlb_shootdown_finalize();
    128                 tlb_invalidate_asid(asid);
    129129        } else {
    130130
     
    136136                asid = asid_find_free();
    137137                asids_allocated++;
     138
     139                /*
     140                 * Purge the allocated rid from TLBs.
     141                 */
     142                tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);
     143                tlb_invalidate_asid(asid);
     144                tlb_shootdown_finalize();
    138145        }
    139146       
  • generic/src/proc/task.c

    r590cb380 r88169d9  
    5656#endif
    5757
     58/** Spinlock protecting the tasks_btree B+tree. */
    5859SPINLOCK_INITIALIZE(tasks_lock);
     60
     61/** B+tree of active tasks.
     62 *
     63 * The task is guaranteed to exist after it was found in the tasks_btree as long as:
     64 * @li the tasks_lock is held,
     65 * @li the task's lock is held when task's lock is acquired before releasing tasks_lock or
     66 * @li the task's refcount is grater than 0
     67 *
     68 */
    5969btree_t tasks_btree;
     70
    6071static task_id_t task_counter = 0;
    6172
     
    239250 * The tasks_lock must be already held by the caller of this function
    240251 * and interrupts must be disabled.
    241  *
    242  * The task is guaranteed to exist after it was found in the tasks_btree as long as:
    243  * @li the tasks_lock is held,
    244  * @li the task's lock is held when task's lock is acquired before releasing tasks_lock or
    245  * @li the task's refcount is grater than 0
    246252 *
    247253 * @param id Task ID.
  • generic/src/proc/thread.c

    r590cb380 r88169d9  
    7676};
    7777
    78 /** Lock protecting threads_head list. For locking rules, see declaration thereof. */
     78/** Lock protecting the threads_btree B+tree. For locking rules, see declaration thereof. */
    7979SPINLOCK_INITIALIZE(threads_lock);
    80 btree_t threads_btree;                  /**< B+tree of all threads. */
     80
     81/** B+tree of all threads.
     82 *
     83 * When a thread is found in the threads_btree B+tree, it is guaranteed to exist as long
     84 * as the threads_lock is held.
     85 */
     86btree_t threads_btree;         
    8187
    8288SPINLOCK_INITIALIZE(tidlock);
     
    553559 * interrupts must be already disabled.
    554560 *
    555  * When a thread is found in threads_btree, it is guaranteed to exist as long
    556  * as the threads_lock is held.
    557  *
    558561 * @param t Pointer to thread.
    559562 *
Note: See TracChangeset for help on using the changeset viewer.