Changeset View
Changeset View
Standalone View
Standalone View
sys/net/iflib.c
Show First 20 Lines • Show All 4,963 Lines • ▼ Show 20 Lines | get_ctx_core_offset(if_ctx_t ctx) | ||||
*/ | */ | ||||
CPU_ZERO(&assigned_cpus); | CPU_ZERO(&assigned_cpus); | ||||
for (i = 0; i < scctx->isc_ntxqsets; i++) | for (i = 0; i < scctx->isc_ntxqsets; i++) | ||||
CPU_SET(get_cpuid_for_queue(ctx, first_valid, i, true), | CPU_SET(get_cpuid_for_queue(ctx, first_valid, i, true), | ||||
&assigned_cpus); | &assigned_cpus); | ||||
for (i = 0; i < scctx->isc_nrxqsets; i++) | for (i = 0; i < scctx->isc_nrxqsets; i++) | ||||
CPU_SET(get_cpuid_for_queue(ctx, first_valid, i, false), | CPU_SET(get_cpuid_for_queue(ctx, first_valid, i, false), | ||||
&assigned_cpus); | &assigned_cpus); | ||||
CPU_AND(&assigned_cpus, &ctx->ifc_cpus); | CPU_AND(&assigned_cpus, &assigned_cpus, &ctx->ifc_cpus); | ||||
cores_consumed = CPU_COUNT(&assigned_cpus); | cores_consumed = CPU_COUNT(&assigned_cpus); | ||||
mtx_lock(&cpu_offset_mtx); | mtx_lock(&cpu_offset_mtx); | ||||
SLIST_FOREACH(op, &cpu_offsets, entries) { | SLIST_FOREACH(op, &cpu_offsets, entries) { | ||||
if (CPU_CMP(&ctx->ifc_cpus, &op->set) == 0) { | if (CPU_CMP(&ctx->ifc_cpus, &op->set) == 0) { | ||||
base_cpuid = op->next_cpuid; | base_cpuid = op->next_cpuid; | ||||
op->next_cpuid = cpuid_advance(ctx, op->next_cpuid, | op->next_cpuid = cpuid_advance(ctx, op->next_cpuid, | ||||
cores_consumed); | cores_consumed); | ||||
▲ Show 20 Lines • Show All 2,205 Lines • Show Last 20 Lines |