pf_check_congestion() simply checks if ifq->ifq_congestion is non-zero,
and returns 1 or 0 accordingly. It is only called by pf_test_rule().
Since what pf_check_congestion() does is very trivial and pf_test_rule()
is its only user, would it make sense to remove it and let
pf_test_rule() check ifq->ifq_congestion directly to save a function
call?
Index: pf.c
===================================================================
RCS file: /cvs/src/sys/net/pf.c,v
retrieving revision 1.868
diff -u -p -r1.868 pf.c
--- pf.c 25 Jan 2014 03:39:00 -0000 1.868
+++ pf.c 18 Feb 2014 17:57:42 -0000
@@ -230,7 +230,6 @@ int pf_compare_state_keys(struct pf_s
struct pf_state *pf_find_state(struct pfi_kif *,
struct pf_state_key_cmp *, u_int, struct mbuf *);
int pf_src_connlimit(struct pf_state **);
-int pf_check_congestion(struct ifqueue *);
int pf_match_rcvif(struct mbuf *, struct pf_rule *);
void pf_step_into_anchor(int *, struct pf_ruleset **,
struct pf_rule **, struct pf_rule **);
@@ -3159,7 +3158,7 @@ pf_test_rule(struct pf_pdesc *pd, struct
ifq = &ip6intrq;
#endif
- if (pd->dir == PF_IN && pf_check_congestion(ifq)) {
+ if (pd->dir == PF_IN && ifq->ifq_congestion) {
REASON_SET(&reason, PFRES_CONGEST);
return (PF_DROP);
}
@@ -6745,15 +6744,6 @@ done:
}
return (action);
-}
-
-int
-pf_check_congestion(struct ifqueue *ifq)
-{
- if (ifq->ifq_congestion)
- return (1);
- else
- return (0);
}
void