Subversion Repositories HelenOS

Rev

Rev 2787 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2787 Rev 3424
Line 104... Line 104...
104
#ifdef CONFIG_FB
104
#ifdef CONFIG_FB
105
        if (sl == &fb_lock)
105
        if (sl == &fb_lock)
106
            continue;
106
            continue;
107
#endif
107
#endif
108
        if (i++ > DEADLOCK_THRESHOLD) {
108
        if (i++ > DEADLOCK_THRESHOLD) {
109
            printf("cpu%d: looping on spinlock %.*p:%s, "
109
            printf("cpu%u: looping on spinlock %" PRIp ":%s, caller=%" PRIp,
110
                "caller=%.*p", CPU->id, sizeof(uintptr_t) * 2, sl,
-
 
111
                sl->name, sizeof(uintptr_t) * 2, CALLER);
110
                CPU->id, sl, sl->name, CALLER);
112
            symbol = get_symtab_entry(CALLER);
111
            symbol = get_symtab_entry(CALLER);
113
            if (symbol)
112
            if (symbol)
114
                printf("(%s)", symbol);
113
                printf("(%s)", symbol);
115
            printf("\n");
114
            printf("\n");
116
            i = 0;
115
            i = 0;
117
            deadlock_reported = true;
116
            deadlock_reported = true;
118
        }
117
        }
119
    }
118
    }
120
 
119
 
121
    if (deadlock_reported)
120
    if (deadlock_reported)
122
        printf("cpu%d: not deadlocked\n", CPU->id);
121
        printf("cpu%u: not deadlocked\n", CPU->id);
123
 
122
 
124
    /*
123
    /*
125
     * Prevent critical section code from bleeding out this way up.
124
     * Prevent critical section code from bleeding out this way up.
126
     */
125
     */
127
    CS_ENTER_BARRIER();
126
    CS_ENTER_BARRIER();