OSDN Git Service

hsr: Use a single struct for self_node.
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 29 Nov 2022 16:48:14 +0000 (17:48 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 2 Dec 2022 04:26:22 +0000 (20:26 -0800)
commit20d3c1e9b861b85e1a774e1876d6adeeb0251fc3
tree9ca4270648ab96dbeae707218f0b0694d7c472c6
parent5c7aa13210c3abdd34fd421f62347665ec6eb551
hsr: Use a single struct for self_node.

self_node_db is a list_head with one entry of struct hsr_node. The
purpose is to hold the two MAC addresses of the node itself.
It is convenient to recycle the structure. However having a list_head
and fetching always the first entry is not really optimal.

Created a new data strucure contaning the two MAC addresses named
hsr_self_node. Access that structure like an RCU protected pointer so
it can be replaced on the fly without blocking the reader.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/hsr/hsr_device.c
net/hsr/hsr_framereg.c
net/hsr/hsr_main.h