Patch to remove redundant splbio()/splx()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Matthew Dempsky
Date: Friday, June 18, 2010 - 3:58 pm

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;
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Patch to remove redundant splbio()/splx(), Matthew Dempsky, (Fri Jun 18, 3:58 pm)