On Mon, 26 Apr 2021 at 11:19, Kenta Ishiguro <kentaishiguro@xxxxxxxxxxxxxxxxxxxx> wrote: > > Thank you for the reply. > > My question is about following scenario: > 1. running vCPU receives IPI and the vCPU's ipi_received gets true > 2. the vCPU responds to the IPI > 3. the vCPU exits > 4. the vCPU is preempted by KVM > 5. the vCPU is boosted, but it has already responded to the IPI > 6. the vCPU enters and the vCPU's ipi_received is cleaned > > In this case, I think the check of vcpu->preempted does not limit the candidate vCPUs. Good point, you are right. However, actually I played with that code a bit before, I have another version adding the vcpu->preempted checking when marking IPI receiver, the score is not as good as expected. Wanpeng