svn commit: r198031 - user/eri/pf45/head/sys/contrib/pf/net

Ermal Luçi eri at FreeBSD.org
Tue Oct 13 13:08:06 UTC 2009


Author: eri
Date: Tue Oct 13 13:08:05 2009
New Revision: 198031
URL: http://svn.freebsd.org/changeset/base/198031

Log:
  * Change flags of memory allocation to NOWAIT to avoid LORs.

Modified:
  user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c

Modified: user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c
==============================================================================
--- user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c	Tue Oct 13 13:03:31 2009	(r198030)
+++ user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c	Tue Oct 13 13:08:05 2009	(r198031)
@@ -1593,7 +1593,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
 			break;
 		}
 #ifdef __FreeBSD__
-		rule = pool_get(&pf_rule_pl, PR_WAITOK);
+		rule = pool_get(&pf_rule_pl, PR_NOWAIT);
 #else
 		rule = pool_get(&pf_rule_pl, PR_WAITOK|PR_LIMITFAIL);
 #endif
@@ -1857,7 +1857,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
 
 		if (pcr->action != PF_CHANGE_REMOVE) {
 #ifdef __FreeBSD__
-			newrule = pool_get(&pf_rule_pl, PR_WAITOK);
+			newrule = pool_get(&pf_rule_pl, PR_NOWAIT);
 #else
 			newrule = pool_get(&pf_rule_pl, PR_WAITOK|PR_LIMITFAIL);
 #endif
@@ -2487,7 +2487,11 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
 			error = EBUSY;
 			break;
 		}
+#ifdef __FreeBSD__
+		altq = pool_get(&pf_altq_pl, PR_NOWAIT);
+#else
 		altq = pool_get(&pf_altq_pl, PR_WAITOK|PR_LIMITFAIL);
+#endif
 		if (altq == NULL) {
 			error = ENOMEM;
 			break;
@@ -2654,7 +2658,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
 			break;
 		}
 #ifdef __FreeBSD__
-		pa = pool_get(&pf_pooladdr_pl, PR_WAITOK);
+		pa = pool_get(&pf_pooladdr_pl, PR_NOWAIT);
 #else
 		pa = pool_get(&pf_pooladdr_pl, PR_WAITOK|PR_LIMITFAIL);
 #endif
@@ -2753,7 +2757,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
 		if (pca->action != PF_CHANGE_REMOVE) {
 			newpa = pool_get(&pf_pooladdr_pl,
 #ifdef __FreeBSD__
-			    PR_WAITOK);
+			    PR_NOWAIT);
 #else
 			    PR_WAITOK|PR_LIMITFAIL);
 #endif


More information about the svn-src-user mailing list