1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00

Remove lock init from radix.c.

Radix has never managed its locking itself.
The only consumer using radix with embeded rwlock
is system routing table. Move per-AF lock inits there.
This commit is contained in:
Alexander V. Chernikov 2014-10-01 14:39:06 +00:00
parent bb6b32dd81
commit 31f0d081d8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=272361
4 changed files with 8 additions and 11 deletions

View File

@ -1122,9 +1122,6 @@ rn_inithead_internal(void **head, int off)
R_Zalloc(rnh, struct radix_node_head *, sizeof (*rnh));
if (rnh == 0)
return (0);
#ifdef _KERNEL
RADIX_NODE_HEAD_LOCK_INIT(rnh);
#endif
*head = rnh;
t = rn_newpair(rn_zeros, off, rnh->rnh_nodes);
ttt = rnh->rnh_nodes + 2;

View File

@ -352,10 +352,12 @@ in_inithead(void **head, int off)
if (!rn_inithead(head, 32))
return 0;
rnh = *head;
RADIX_NODE_HEAD_LOCK_INIT(rnh);
if (off == 0) /* XXX MRT see above */
return 1; /* only do the rest for a real routing table */
rnh = *head;
rnh->rnh_addaddr = in_addroute;
in_setmatchfunc(rnh, V_drop_redirect);
rnh->rnh_close = in_clsroute;

View File

@ -270,10 +270,12 @@ in6_inithead(void **head, int off)
if (!rn_inithead(head, offsetof(struct sockaddr_in6, sin6_addr) << 3))
return 0; /* See above */
rnh = *head;
RADIX_NODE_HEAD_LOCK_INIT(rnh);
if (off == 0) /* See above */
return 1; /* only do the rest for the real thing */
rnh = *head;
rnh->rnh_addaddr = in6_addroute;
if (V__in6_rt_was_here == 0) {

View File

@ -1853,14 +1853,10 @@ pfr_destroy_ktable(struct pfr_ktable *kt, int flushaddr)
pfr_clean_node_mask(kt, &addrq);
pfr_destroy_kentries(&addrq);
}
if (kt->pfrkt_ip4 != NULL) {
RADIX_NODE_HEAD_DESTROY(kt->pfrkt_ip4);
if (kt->pfrkt_ip4 != NULL)
rn_detachhead((void **)&kt->pfrkt_ip4);
}
if (kt->pfrkt_ip6 != NULL) {
RADIX_NODE_HEAD_DESTROY(kt->pfrkt_ip6);
if (kt->pfrkt_ip6 != NULL)
rn_detachhead((void **)&kt->pfrkt_ip6);
}
if (kt->pfrkt_shadow != NULL)
pfr_destroy_ktable(kt->pfrkt_shadow, flushaddr);
if (kt->pfrkt_rs != NULL) {