Skip to content

Commit

Permalink
12921 bhyve IPI statistics should not be a matrix
Browse files Browse the repository at this point in the history
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Mike Zeller <mike.zeller@joyent.com>
Approved by: Dan McDonald <danmcd@joyent.com>
  • Loading branch information
pfmooney committed Jul 10, 2020
1 parent 3decf16 commit 65a3bc8
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions usr/src/uts/i86pc/io/vmm/io/vlapic.c
Expand Up @@ -40,6 +40,7 @@
*
* Copyright 2014 Pluribus Networks Inc.
* Copyright 2018 Joyent, Inc.
* Copyright 2020 Oxide Computer Company
*/

#include <sys/cdefs.h>
Expand Down Expand Up @@ -931,7 +932,8 @@ vlapic_calcdest(struct vm *vm, cpuset_t *dmask, uint32_t dest, bool phys,
}
}

static VMM_STAT_ARRAY(IPIS_SENT, VM_MAXCPU, "ipis sent to vcpu");
static VMM_STAT(VLAPIC_IPI_SEND, "ipis sent from vcpu");
static VMM_STAT(VLAPIC_IPI_RECV, "ipis received by vcpu");

static void
vlapic_set_tpr(struct vlapic *vlapic, uint8_t val)
Expand Down Expand Up @@ -1036,8 +1038,10 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu)
CPU_CLR(i, &dmask);
if (mode == APIC_DELMODE_FIXED) {
lapic_intr_edge(vlapic->vm, i, vec);
vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid,
IPIS_SENT, i, 1);
vmm_stat_incr(vlapic->vm, vlapic->vcpuid,
VLAPIC_IPI_SEND, 1);
vmm_stat_incr(vlapic->vm, i,
VLAPIC_IPI_RECV, 1);
VLAPIC_CTR2(vlapic, "vlapic sending ipi %d "
"to vcpuid %d", vec, i);
} else {
Expand Down Expand Up @@ -1104,8 +1108,8 @@ vlapic_self_ipi_handler(struct vlapic *vlapic, uint64_t val)

vec = val & 0xff;
lapic_intr_edge(vlapic->vm, vlapic->vcpuid, vec);
vmm_stat_array_incr(vlapic->vm, vlapic->vcpuid, IPIS_SENT,
vlapic->vcpuid, 1);
vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_IPI_SEND, 1);
vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_IPI_RECV, 1);
VLAPIC_CTR1(vlapic, "vlapic self-ipi %d", vec);
}

Expand Down

0 comments on commit 65a3bc8

Please sign in to comment.