svn commit: r308994 - projects/ipsec/sys/netipsec
Andrey V. Elsukov
ae at FreeBSD.org
Tue Nov 22 12:29:25 UTC 2016
Author: ae
Date: Tue Nov 22 12:29:24 2016
New Revision: 308994
URL: https://svnweb.freebsd.org/changeset/base/308994
Log:
Add key_lft_zone UMA zone to keep PCPU current lifetime counters.
Modified:
projects/ipsec/sys/netipsec/key.c
Modified: projects/ipsec/sys/netipsec/key.c
==============================================================================
--- projects/ipsec/sys/netipsec/key.c Tue Nov 22 12:23:55 2016 (r308993)
+++ projects/ipsec/sys/netipsec/key.c Tue Nov 22 12:29:24 2016 (r308994)
@@ -59,6 +59,8 @@
#include <sys/refcount.h>
#include <sys/syslog.h>
+#include <vm/uma.h>
+
#include <net/if.h>
#include <net/if_var.h>
#include <net/vnet.h>
@@ -462,6 +464,9 @@ MALLOC_DEFINE(M_IPSEC_MISC, "ipsec-misc"
MALLOC_DEFINE(M_IPSEC_SAQ, "ipsec-saq", "ipsec sa acquire");
MALLOC_DEFINE(M_IPSEC_SAR, "ipsec-reg", "ipsec sa acquire");
+static VNET_DEFINE(uma_zone_t, key_lft_zone);
+#define V_key_lft_zone VNET(key_lft_zone)
+
/*
* set parameters into secpolicyindex buffer.
* Must allocate secpolicyindex buffer passed to this function.
@@ -7438,6 +7443,10 @@ key_init(void)
for (i = 0; i < IPSEC_DIR_MAX; i++)
TAILQ_INIT(&V_sptree[i]);
+ V_key_lft_zone = uma_zcreate("IPsec SA lft_c",
+ sizeof(uint64_t) * 2, NULL, NULL, NULL, NULL,
+ UMA_ALIGN_PTR, UMA_ZONE_PCPU);
+
LIST_INIT(&V_sahtree);
V_sphashtbl = hashinit(SPHASH_NHASH, M_IPSEC_SP, &V_sphash_mask);
V_savhashtbl = hashinit(SAVHASH_NHASH, M_IPSEC_SA, &V_savhash_mask);
@@ -7542,6 +7551,7 @@ key_destroy(void)
}
}
SPACQ_UNLOCK();
+ uma_zdestroy(V_key_lft_zone);
}
#endif
More information about the svn-src-projects
mailing list