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);