diff --git a/src/afs/FBSD/osi_machdep.h b/src/afs/FBSD/osi_machdep.h index c6495633bc..385b22cb58 100644 --- a/src/afs/FBSD/osi_machdep.h +++ b/src/afs/FBSD/osi_machdep.h @@ -72,13 +72,14 @@ extern struct simplelock afs_rxglobal_lock; extern struct vop_vector afs_vnodeops; #endif +#undef osi_getpid #if defined(AFS_FBSD50_ENV) #define VT_AFS "afs" #define VROOT VV_ROOT #define v_flag v_vflag #define osi_curcred() (curthread->td_ucred) #define afs_suser(x) (!suser(curthread)) -#define getpid() (curthread->td_proc->p_pid) +#define osi_getpid() (curthread->td_proc->p_pid) #define simple_lock(x) mtx_lock(x) #define simple_unlock(x) mtx_unlock(x) #define gop_rdwr(rw,gp,base,len,offset,segflg,unit,cred,aresid) \ @@ -93,7 +94,7 @@ extern struct lock afs_global_lock; #define osi_curcred() (curproc->p_cred->pc_ucred) #define afs_suser(x) (!suser(curproc)) -#define getpid() (curproc->p_pid) +#define osi_getpid() (curproc->p_pid) #define gop_rdwr(rw,gp,base,len,offset,segflg,unit,cred,aresid) \ vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(unit),(cred),(aresid), curproc) extern struct proc *afs_global_owner; diff --git a/src/afs/afs_osi.h b/src/afs/afs_osi.h index 8299fec7eb..2e2879d73d 100644 --- a/src/afs/afs_osi.h +++ b/src/afs/afs_osi.h @@ -190,6 +190,8 @@ typedef struct { typedef struct timeval osi_timeval_t; #endif /* AFS_SGI61_ENV */ +#define osi_getpid() getpid() + /* * osi_ThreadUnique() should yield a value that can be found in ps * output in order to draw correspondences between ICL traces and what diff --git a/src/afs/afs_osi_pag.c b/src/afs/afs_osi_pag.c index 58f569180a..eb51996888 100644 --- a/src/afs/afs_osi_pag.c +++ b/src/afs/afs_osi_pag.c @@ -141,39 +141,40 @@ getpag(void) static int afs_pag_sleepcnt = 0; -static int -afs_pag_sleep(struct AFS_UCRED **acred) +static int +afs_pag_sleep(struct AFS_UCRED **acred) { - int rv = 0; - if(!afs_suser(acred)) { - if(osi_Time() - pag_epoch < pagCounter) { - rv = 1; - } - } + int rv = 0; - return rv; + if (!afs_suser(acred)) { + if(osi_Time() - pag_epoch < pagCounter) { + rv = 1; + } + } + + return rv; } -static int +static int afs_pag_wait(struct AFS_UCRED **acred) { - if(afs_pag_sleep(acred)) { - if(!afs_pag_sleepcnt) { - printf("%s() PAG throttling triggered, pid %d... sleeping. sleepcnt %d\n", - "afs_pag_wait", getpid(), afs_pag_sleepcnt); - } - - afs_pag_sleepcnt++; - - do { - /* XXX spins on EINTR */ - afs_osi_Wait(1000, (struct afs_osi_WaitHandle *)0, 0); - } while(afs_pag_sleep(acred)); - - afs_pag_sleepcnt--; - } + if (afs_pag_sleep(acred)) { + if (!afs_pag_sleepcnt) { + printf("%s() PAG throttling triggered, pid %d... sleeping. sleepcnt %d\n", + "afs_pag_wait", osi_getpid(), afs_pag_sleepcnt); + } - return 0; + afs_pag_sleepcnt++; + + do { + /* XXX spins on EINTR */ + afs_osi_Wait(1000, (struct afs_osi_WaitHandle *)0, 0); + } while (afs_pag_sleep(acred)); + + afs_pag_sleepcnt--; + } + + return 0; } int