Page MenuHomeFreeBSD

D4139.id10145.diff
No OneTemporary

D4139.id10145.diff

Index: sys/dev/vmware/vmxnet3/if_vmx.c
===================================================================
--- sys/dev/vmware/vmxnet3/if_vmx.c
+++ sys/dev/vmware/vmxnet3/if_vmx.c
@@ -510,6 +510,13 @@
return (0);
}
+static int
+trunc_powerof2(int val)
+{
+
+ return (1U << (fls(val) - 1));
+}
+
static void
vmxnet3_initial_config(struct vmxnet3_softc *sc)
{
@@ -520,14 +527,14 @@
nqueue = VMXNET3_DEF_TX_QUEUES;
if (nqueue > mp_ncpus)
nqueue = mp_ncpus;
- sc->vmx_max_ntxqueues = nqueue;
+ sc->vmx_max_ntxqueues = trunc_powerof2(nqueue);
nqueue = vmxnet3_tunable_int(sc, "rxnqueue", vmxnet3_default_rxnqueue);
if (nqueue > VMXNET3_MAX_RX_QUEUES || nqueue < 1)
nqueue = VMXNET3_DEF_RX_QUEUES;
if (nqueue > mp_ncpus)
nqueue = mp_ncpus;
- sc->vmx_max_nrxqueues = nqueue;
+ sc->vmx_max_nrxqueues = trunc_powerof2(nqueue);
if (vmxnet3_tunable_int(sc, "mq_disable", vmxnet3_mq_disable)) {
sc->vmx_max_nrxqueues = 1;

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 16, 10:33 PM (11 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27671727
Default Alt Text
D4139.id10145.diff (946 B)

Event Timeline