Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2009 13:08:05 +0000 (UTC)
From:      Ermal Luçi <eri@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r198031 - user/eri/pf45/head/sys/contrib/pf/net
Message-ID:  <200910131308.n9DD855O006482@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910131308.n9DD855O006482>