Changeset 2d93f1f9 in mainline


Ignore:
Timestamp:
2005-12-06T21:58:18Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a80d406
Parents:
36e7b6c3
Message:

Named spinlocks

Files:
15 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/drivers/i8042.c

    r36e7b6c3 r2d93f1f9  
    241241        trap_register(VECTOR_KBD, i8042_interrupt);
    242242        trap_virtual_enable_irqs(1<<IRQ_KBD);
    243         spinlock_initialize(&keylock);
     243        spinlock_initialize(&keylock, "i8042_lock");
    244244        chardev_initialize(&kbrd, &ops);
    245245        stdin = &kbrd;
  • generic/include/synch/spinlock.h

    r36e7b6c3 r2d93f1f9  
    3636#ifdef CONFIG_SMP
    3737struct spinlock {
     38#ifdef CONFIG_DEBUG_SPINLOCK
     39        char *name;
     40#endif
    3841        int val;
    3942};
    4043
    41 extern void spinlock_initialize(spinlock_t *sl);
     44extern void spinlock_initialize(spinlock_t *sl, char *name);
    4245extern void spinlock_lock(spinlock_t *sl);
    4346extern int spinlock_trylock(spinlock_t *sl);
  • generic/src/console/chardev.c

    r36e7b6c3 r2d93f1f9  
    4040{
    4141        waitq_initialize(&chardev->wq);
    42         spinlock_initialize(&chardev->lock);
     42        spinlock_initialize(&chardev->lock, "chardev");
    4343        chardev->counter = 0;
    4444        chardev->index = 0;
  • generic/src/console/kconsole.c

    r36e7b6c3 r2d93f1f9  
    9393void kconsole_init(void)
    9494{
    95         spinlock_initialize(&cmd_lock);
     95        spinlock_initialize(&cmd_lock, "kconsole_cmd");
    9696        list_initialize(&cmd_head);
    9797       
     
    103103        help_info.argv = NULL;
    104104
    105         spinlock_initialize(&help_info.lock);
     105        spinlock_initialize(&help_info.lock, "kconsole_help");
    106106        link_initialize(&help_info.link);
    107107
     
    117117        desc_info.argv = &desc_argv;
    118118       
    119         spinlock_initialize(&desc_info.lock);
     119        spinlock_initialize(&desc_info.lock, "kconsole_desc");
    120120        link_initialize(&desc_info.link);
    121121       
     
    131131        halt_info.argv = NULL;
    132132
    133         spinlock_initialize(&halt_info.lock);
     133        spinlock_initialize(&halt_info.lock, "kconsole_halt");
    134134        link_initialize(&halt_info.link);
    135135
  • generic/src/mm/frame.c

    r36e7b6c3 r2d93f1f9  
    242242void zone_init(void)
    243243{
    244         spinlock_initialize(&zone_head_lock);
     244        spinlock_initialize(&zone_head_lock, "zone_head_lock");
    245245        list_initialize(&zone_head);
    246246}
     
    317317        if (z) {
    318318                link_initialize(&z->link);
    319                 spinlock_initialize(&z->lock);
     319                spinlock_initialize(&z->lock, "zone_lock");
    320320       
    321321                z->base = start;
  • generic/src/mm/heap.c

    r36e7b6c3 r2d93f1f9  
    4747void early_heap_init(__address heap, size_t size)
    4848{
    49         spinlock_initialize(&heaplock);
     49        spinlock_initialize(&heaplock, "heap_lock");
    5050        memsetb(heap, size, 0);
    5151        chunk0 = (chunk_t *) heap;
  • generic/src/mm/tlb.c

    r36e7b6c3 r2d93f1f9  
    4444{
    4545        if (config.cpu_active == 1)
    46                 spinlock_initialize(&tlblock);
     46                spinlock_initialize(&tlblock, "tlb_lock");
    4747
    4848        tlb_init_arch();
  • generic/src/mm/vm.c

    r36e7b6c3 r2d93f1f9  
    5656        m = (vm_t *) malloc(sizeof(vm_t));
    5757        if (m) {
    58                 spinlock_initialize(&m->lock);
     58                spinlock_initialize(&m->lock, "vm_lock");
    5959                list_initialize(&m->vm_area_head);
    6060
     
    118118                        a->mapping[i] = frame_alloc(0, ONE_FRAME);
    119119               
    120                 spinlock_initialize(&a->lock);
     120                spinlock_initialize(&a->lock, "vm_area_lock");
    121121                       
    122122                link_initialize(&a->link);                     
  • generic/src/proc/task.c

    r36e7b6c3 r2d93f1f9  
    4949{
    5050        TASK = NULL;
    51         spinlock_initialize(&tasks_lock);
     51        spinlock_initialize(&tasks_lock, "tasks_lock");
    5252        list_initialize(&tasks_head);
    5353}
     
    7070        ta = (task_t *) malloc(sizeof(task_t));
    7171        if (ta) {
    72                 spinlock_initialize(&ta->lock);
     72                spinlock_initialize(&ta->lock, "task_ta_lock");
    7373                list_initialize(&ta->th_head);
    7474                list_initialize(&ta->tasks_link);
  • generic/src/proc/thread.c

    r36e7b6c3 r2d93f1f9  
    9797        THREAD = NULL;
    9898        nrdy = 0;
    99         spinlock_initialize(&threads_lock);
     99        spinlock_initialize(&threads_lock, "threads_lock");
    100100        list_initialize(&threads_head);
    101101}
     
    174174                ipl_t ipl;
    175175       
    176                 spinlock_initialize(&t->lock);
     176                spinlock_initialize(&t->lock, "thread_t_lock");
    177177       
    178178                frame_ks = frame_alloc(FRAME_KA, ONE_FRAME);
  • generic/src/synch/rwlock.c

    r36e7b6c3 r2d93f1f9  
    7676 */
    7777void rwlock_initialize(rwlock_t *rwl) {
    78         spinlock_initialize(&rwl->lock);
     78        spinlock_initialize(&rwl->lock, "rwlock");
    7979        mutex_initialize(&rwl->exclusive);
    8080        rwl->readers_in = 0;
  • generic/src/synch/spinlock.c

    r36e7b6c3 r2d93f1f9  
    3434#include <print.h>
    3535#include <debug.h>
     36#include <symtab.h>
    3637
    3738#ifdef CONFIG_SMP
     
    4344 * @param sl Pointer to spinlock_t structure.
    4445 */
    45 void spinlock_initialize(spinlock_t *sl)
     46void spinlock_initialize(spinlock_t *sl, char *name)
    4647{
    4748        sl->val = 0;
     49#ifdef CONFIG_DEBUG_SPINLOCK
     50        sl->name = name;
     51#endif 
    4852}
    4953
     
    6064{
    6165        int i = 0;
    62         __address caller = ((__u32 *) &sl)[-1];
     66        __address caller = ((__address *) &sl)[-1];
     67        char *symbol;
    6368
    6469        preemption_disable();
    6570        while (test_and_set(&sl->val)) {
    6671                if (i++ > 300000) {
    67                         printf("cpu%d: looping on spinlock %X, caller=%X\n", CPU->id, sl, caller);
     72                        printf("cpu%d: looping on spinlock %p:%s, caller=%p",
     73                               CPU->id, sl, sl->name, caller);
     74                        symbol = get_symtab_entry(caller);
     75                        if (symbol)
     76                                printf("(%s)", symbol);
     77                        printf("\n");
    6878                        i = 0;
    6979                }
  • generic/src/synch/waitq.c

    r36e7b6c3 r2d93f1f9  
    4747void waitq_initialize(waitq_t *wq)
    4848{
    49         spinlock_initialize(&wq->lock);
     49        spinlock_initialize(&wq->lock, "waitq_lock");
    5050        list_initialize(&wq->head);
    5151        wq->missed_wakeups = 0;
  • generic/src/time/timeout.c

    r36e7b6c3 r2d93f1f9  
    4848void timeout_init(void)
    4949{
    50         spinlock_initialize(&CPU->timeoutlock);
     50        spinlock_initialize(&CPU->timeoutlock, "timeout_lock");
    5151        list_initialize(&CPU->timeout_active_head);
    5252}
     
    7979void timeout_initialize(timeout_t *t)
    8080{
    81         spinlock_initialize(&t->lock);
     81        spinlock_initialize(&t->lock, "timeout_t_lock");
    8282        timeout_reinitialize(t);
    8383}
  • tools/config.py

    r36e7b6c3 r2d93f1f9  
    4040    def print_title(self):
    4141        if not self.printed:
    42             sys.stdout.write("*** %s ***\n" % self.title)
     42            sys.stdout.write("\n*** %s ***\n" % self.title)
    4343            self.printed = True
    4444
     
    313313            # Last comment before question will be displayed to the user
    314314            comment = line[1:].strip()
    315         elif line.startswith('##'):
     315        elif line.startswith('## '):
    316316            # Set title of the dialog window
    317317            dlg.set_title(line[2:].strip())
Note: See TracChangeset for help on using the changeset viewer.