netgraph/ng_bridge: Avoid cache thrashing

Hint the compiler, that this update is needed at most once per second.
Only in this case the memory line needs to be written.  This will
reduce the amount of cache trashing during forward of most frames.

Suggested by:	zec
Approved by:	zec
Differential Revision:	https://reviews.freebsd.org/D28601

(cherry picked from commit 4dfe70fdbd)
This commit is contained in:
Lutz Donnerhacke 2021-02-11 23:59:11 +01:00
parent fb5e2f4d61
commit 7fd88ba72e

View file

@ -863,7 +863,8 @@ ng_bridge_rcvdata(hook_p hook, item_p item)
* This is safe without locking, because it's
* the only operation during shared access.
*/
host->staleness = 0;
if (__predict_false(host->staleness > 0))
host->staleness = 0;
if ((host == NULL && ctx.incoming->learnMac) ||
(host != NULL && host->link != ctx.incoming)) {