mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-24 22:42:53 +00:00
hv:no need to use lock for the bit operations of local variable
Use bitmap_set_nolock/bitmap_clear_nolock instead of bitmap_set_lock/bitmap_clear_lock for the local variable. Tracked-On: #1842 Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
e2cb6acba6
commit
7da9161d7d
@ -36,7 +36,7 @@ uint64_t vcpumask2pcpumask(struct acrn_vm *vm, uint64_t vdmask)
|
|||||||
for (vcpu_id = 0U; vcpu_id < vm->hw.created_vcpus; vcpu_id++) {
|
for (vcpu_id = 0U; vcpu_id < vm->hw.created_vcpus; vcpu_id++) {
|
||||||
if ((vdmask & (1UL << vcpu_id)) != 0UL) {
|
if ((vdmask & (1UL << vcpu_id)) != 0UL) {
|
||||||
vcpu = vcpu_from_vid(vm, vcpu_id);
|
vcpu = vcpu_from_vid(vm, vcpu_id);
|
||||||
bitmap_set_lock(vcpu->pcpu_id, &dmask);
|
bitmap_set_nolock(vcpu->pcpu_id, &dmask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ vm_active_cpus(const struct acrn_vm *vm)
|
|||||||
const struct acrn_vcpu *vcpu;
|
const struct acrn_vcpu *vcpu;
|
||||||
|
|
||||||
foreach_vcpu(i, vm, vcpu) {
|
foreach_vcpu(i, vm, vcpu) {
|
||||||
bitmap_set_lock(vcpu->vcpu_id, &dmask);
|
bitmap_set_nolock(vcpu->vcpu_id, &dmask);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dmask;
|
return dmask;
|
||||||
@ -1047,7 +1047,7 @@ vlapic_calcdest(struct acrn_vm *vm, uint64_t *dmask, uint32_t dest, bool phys, b
|
|||||||
*dmask = 0UL;
|
*dmask = 0UL;
|
||||||
vcpu_id = vm_apicid2vcpu_id(vm, dest);
|
vcpu_id = vm_apicid2vcpu_id(vm, dest);
|
||||||
if (vcpu_id < vm->hw.created_vcpus) {
|
if (vcpu_id < vm->hw.created_vcpus) {
|
||||||
bitmap_set_lock(vcpu_id, dmask);
|
bitmap_set_nolock(vcpu_id, dmask);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
@ -1123,14 +1123,14 @@ vlapic_calcdest(struct acrn_vm *vm, uint64_t *dmask, uint32_t dest, bool phys, b
|
|||||||
/* target is the dest */
|
/* target is the dest */
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
bitmap_set_lock(vcpu_id, dmask);
|
bitmap_set_nolock(vcpu_id, dmask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lowprio && (target != NULL)) {
|
if (lowprio && (target != NULL)) {
|
||||||
bitmap_set_lock(target->vcpu->vcpu_id, dmask);
|
bitmap_set_nolock(target->vcpu->vcpu_id, dmask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1159,7 +1159,7 @@ vlapic_calcdest_lapic_pt(struct acrn_vm *vm, uint64_t *dmask, uint32_t dest, boo
|
|||||||
*dmask = 0UL;
|
*dmask = 0UL;
|
||||||
vcpu_id = vm_apicid2vcpu_id(vm, dest);
|
vcpu_id = vm_apicid2vcpu_id(vm, dest);
|
||||||
if (vcpu_id < vm->hw.created_vcpus) {
|
if (vcpu_id < vm->hw.created_vcpus) {
|
||||||
bitmap_set_lock(vcpu_id, dmask);
|
bitmap_set_nolock(vcpu_id, dmask);
|
||||||
}
|
}
|
||||||
dev_dbg(ACRN_DBG_LAPICPT, "%s: phys destmod, dmask: 0x%016llx", __func__, *dmask);
|
dev_dbg(ACRN_DBG_LAPICPT, "%s: phys destmod, dmask: 0x%016llx", __func__, *dmask);
|
||||||
} else {
|
} else {
|
||||||
@ -1179,7 +1179,7 @@ vlapic_calcdest_lapic_pt(struct acrn_vm *vm, uint64_t *dmask, uint32_t dest, boo
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ((dest_logical_id & logical_id) != 0U) {
|
if ((dest_logical_id & logical_id) != 0U) {
|
||||||
bitmap_set_lock(vcpu_id, dmask);
|
bitmap_set_nolock(vcpu_id, dmask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dev_dbg(ACRN_DBG_LAPICPT, "%s: logical destmod, dmask: 0x%016llx", __func__, *dmask);
|
dev_dbg(ACRN_DBG_LAPICPT, "%s: logical destmod, dmask: 0x%016llx", __func__, *dmask);
|
||||||
@ -1322,14 +1322,14 @@ vlapic_icrlo_write_handler(struct acrn_vlapic *vlapic)
|
|||||||
vlapic_calcdest(vlapic->vm, &dmask, dest, phys, false);
|
vlapic_calcdest(vlapic->vm, &dmask, dest, phys, false);
|
||||||
break;
|
break;
|
||||||
case APIC_DEST_SELF:
|
case APIC_DEST_SELF:
|
||||||
bitmap_set_lock(vlapic->vcpu->vcpu_id, &dmask);
|
bitmap_set_nolock(vlapic->vcpu->vcpu_id, &dmask);
|
||||||
break;
|
break;
|
||||||
case APIC_DEST_ALLISELF:
|
case APIC_DEST_ALLISELF:
|
||||||
dmask = vm_active_cpus(vlapic->vm);
|
dmask = vm_active_cpus(vlapic->vm);
|
||||||
break;
|
break;
|
||||||
case APIC_DEST_ALLESELF:
|
case APIC_DEST_ALLESELF:
|
||||||
dmask = vm_active_cpus(vlapic->vm);
|
dmask = vm_active_cpus(vlapic->vm);
|
||||||
bitmap_clear_lock(vlapic->vcpu->vcpu_id, &dmask);
|
bitmap_clear_nolock(vlapic->vcpu->vcpu_id, &dmask);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/*
|
/*
|
||||||
@ -1948,7 +1948,7 @@ vlapic_set_local_intr(struct acrn_vm *vm, uint16_t vcpu_id_arg, uint32_t vector)
|
|||||||
if (vcpu_id == BROADCAST_CPU_ID) {
|
if (vcpu_id == BROADCAST_CPU_ID) {
|
||||||
dmask = vm_active_cpus(vm);
|
dmask = vm_active_cpus(vm);
|
||||||
} else {
|
} else {
|
||||||
bitmap_set_lock(vcpu_id, &dmask);
|
bitmap_set_nolock(vcpu_id, &dmask);
|
||||||
}
|
}
|
||||||
error = 0;
|
error = 0;
|
||||||
for (vcpu_id = 0U; vcpu_id < vm->hw.created_vcpus; vcpu_id++) {
|
for (vcpu_id = 0U; vcpu_id < vm->hw.created_vcpus; vcpu_id++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user