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