lk 352 proc.c sleep(void *chan, struct spinlock *lk)
lk 357 proc.c if(lk == 0)
lk 366 proc.c if(lk != &ptable.lock){ //DOC: sleeplock0
lk 368 proc.c release(lk);
lk 380 proc.c if(lk != &ptable.lock){ //DOC: sleeplock2
lk 382 proc.c acquire(lk);
lk 13 spinlock.c initlock(struct spinlock *lk, char *name)
lk 15 spinlock.c lk->name = name;
lk 16 spinlock.c lk->locked = 0;
lk 17 spinlock.c lk->cpu = 0;
lk 25 spinlock.c acquire(struct spinlock *lk)
lk 28 spinlock.c if(holding(lk))
lk 34 spinlock.c while(xchg(&lk->locked, 1) != 0)
lk 38 spinlock.c lk->cpu = cpu;
lk 39 spinlock.c getcallerpcs(&lk, lk->pcs);
lk 44 spinlock.c release(struct spinlock *lk)
lk 46 spinlock.c if(!holding(lk))
lk 49 spinlock.c lk->pcs[0] = 0;
lk 50 spinlock.c lk->cpu = 0;
lk 61 spinlock.c xchg(&lk->locked, 0);