HomeFreeBSD

MFC r343995:

Description

MFC r343995:
Reduce the time it takes the kernel to install a new PF config containing a large number of queues

In general, the time savings come from separating the active and
inactive queues lists into separate interface and non-interface queue
lists, and changing the rule and queue tag management from list-based
to hash-bashed.

In HFSC, a linear scan of the class table during each queue destroy
was also eliminated.

There are now two new tunables to control the hash size used for each
tag set (default for each is 128):

net.pf.queue_tag_hashsize
net.pf.rule_tag_hashsize

Reviewed by: kp
Sponsored by: RG Nets
Differential Revision: https://reviews.freebsd.org/D19131

MFC r343996:
Place pf_altq_get_nth_active() under the ALTQ ifdef

Details