aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_thread.c
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2012-09-22 10:14:47 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2012-09-22 10:14:47 +0000
commit29bdd62c85c2b9e28df4dca300caa8a769d6b0bf (patch)
tree42704265a07b2efb4d603f46e192696df357fe86 /sys/kern/kern_thread.c
parente706fd3a3a17178fe2f72084620aa3298fecc591 (diff)
downloadsrc-29bdd62c85c2b9e28df4dca300caa8a769d6b0bf.tar.gz
src-29bdd62c85c2b9e28df4dca300caa8a769d6b0bf.zip
When connection rate hits and we overload a source to a table,
we are actually editing table, which means editing rules, thus we need writer access to 'em. Fix this by offloading the update of table to the same taskqueue, we already use for flushing. Since taskqueues major task is now overloading, and flushing is optional, do mechanical rename s/flush/overload/ in the code related to the taskqueue. Since overloading tasks do unsafe referencing of rules, provide a bandaid in pf_purge_unlinked_rules(). If the latter sees any queued tasks, then it skips purging for this run. In table code: - Assert any lock in pfr_lookup_addr(). - Assert writer lock in pfr_route_kentry().
Notes
Notes: svn path=/head/; revision=240811
Diffstat (limited to 'sys/kern/kern_thread.c')
0 files changed, 0 insertions, 0 deletions