The "bufpool" pool is already protected at IPL_BIO (see line 242 of kern/vfs_bio.c), so it's redundant to block interrupts in getphysbuf() just for allocating from the pool.
Index: kern/kern_physio.c =================================================================== RCS file: /cvs/src/sys/kern/kern_physio.c,v retrieving revision 1.29 diff -u -p kern/kern_physio.c --- kern/kern_physio.c 4 Jun 2009 21:27:14 -0000 1.29 +++ kern/kern_physio.c 18 Jun 2010 22:52:46 -0000 @@ -262,11 +262,8 @@ struct buf * getphysbuf(void) { struct buf *bp; - int s; - s = splbio(); bp = pool_get(&bufpool, PR_WAITOK | PR_ZERO); - splx(s); bp->b_vnbufs.le_next = NOLIST;