Am 02/12/2022 um 14:32 schrieb Robert Hoo: > On Fri, 2022-12-02 at 13:03 +0100, Emanuele Giuseppe Esposito wrote: > ... >>>> @@ -3032,7 +3035,9 @@ int kvm_vcpu_ioctl(CPUState *cpu, int type, >>>> ...) >>>> va_end(ap); >>>> >>>> trace_kvm_vcpu_ioctl(cpu->cpu_index, type, arg); >>>> + accel_cpu_ioctl_begin(cpu); >>> >>> Does this mean that kvm_region_commit() can inhibit any other vcpus >>> doing any ioctls? >> >> Yes, because we must prevent any vcpu from reading memslots while we >> are >> updating them. >> > But do most other vm/vcpu ioctls contend with memslot operations? > I think this is the simplest way. I agree not all ioctls contend with memslot operations, but there are also not so many memslot operations too. Instead of going one by one in all possible ioctls, covering all of them is the simplest way and it covers also the case of a new ioctl reading memslots that could be added in the future (alternatively we would be always updating the list of ioctls to block).