> ilock() (pc/lock.c) calls splhi() and then calls lock(). If that lock were > contended, > how would the system not stop? And on a UP system, if you're inside an > splhi() block, > why would you need to take an uncontended lock?
good question. on a up system, splhi() is sufficient. on a mp system, the losing process will spin until the winning process is finished. ken fs does need to return to its mp roots. - erik