Page MenuHomeFreeBSD

D41326.id.diff
No OneTemporary

D41326.id.diff

diff --git a/sys/net/iflib.h b/sys/net/iflib.h
--- a/sys/net/iflib.h
+++ b/sys/net/iflib.h
@@ -489,5 +489,6 @@
void iflib_add_int_delay_sysctl(if_ctx_t, const char *, const char *,
if_int_delay_info_t, int, int);
+uint16_t iflib_get_extra_msix_vectors_sysctl(if_ctx_t ctx);
#endif /* __IFLIB_H_ */
diff --git a/sys/net/iflib.c b/sys/net/iflib.c
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -194,6 +194,7 @@
#define CORE_OFFSET_UNSPECIFIED 0xffff
uint8_t ifc_sysctl_separate_txrx;
uint8_t ifc_sysctl_use_logical_cores;
+ uint16_t ifc_sysctl_extra_msix_vectors;
bool ifc_cpus_are_physical_cores;
qidx_t ifc_sysctl_ntxds[8];
@@ -264,6 +265,13 @@
return (ctx->ifc_sctx);
}
+uint16_t
+iflib_get_extra_msix_vectors_sysctl(if_ctx_t ctx)
+{
+
+ return (ctx->ifc_sysctl_extra_msix_vectors);
+}
+
#define IP_ALIGNED(m) ((((uintptr_t)(m)->m_data) & 0x3) == 0x2)
#define CACHE_PTR_INCREMENT (CACHE_LINE_SIZE/sizeof(void*))
#define CACHE_PTR_NEXT(ptr) ((void *)(((uintptr_t)(ptr)+CACHE_LINE_SIZE-1) & (CACHE_LINE_SIZE-1)))
@@ -6803,6 +6811,12 @@
SYSCTL_ADD_U8(ctx_list, oid_list, OID_AUTO, "use_logical_cores",
CTLFLAG_RDTUN, &ctx->ifc_sysctl_use_logical_cores, 0,
"try to make use of logical cores for TX and RX");
+ SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "use_extra_msix_vectors",
+ CTLFLAG_RDTUN, &ctx->ifc_sysctl_extra_msix_vectors, 0,
+ "attempt to reserve the given number of extra MSI-X vectors during driver load for the creation of additional interfaces later");
+ SYSCTL_ADD_INT(ctx_list, oid_list, OID_AUTO, "allocated_msix_vectors",
+ CTLFLAG_RDTUN, &ctx->ifc_softc_ctx.isc_vectors, 0,
+ "total # of MSI-X vectors allocated by driver");
/* XXX change for per-queue sizes */
SYSCTL_ADD_PROC(ctx_list, oid_list, OID_AUTO, "override_ntxds",

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 16, 2:55 PM (6 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14660355
Default Alt Text
D41326.id.diff (1 KB)

Event Timeline