kvm: skip system call when msi route is unchanged Some guests do a large number of mask/unmask calls which currently trigger expensive route update system calls. Detect that route in unchanged and skip the system call. Reported-by: "Zhanghaoyu (A)" <haoyu.zhang@huawei.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
diff --git a/kvm-all.c b/kvm-all.c index 745b501..3ee0ac7 100644 --- a/kvm-all.c +++ b/kvm-all.c
@@ -1034,6 +1034,10 @@ continue; } + if(!memcmp(entry, new_entry, sizeof *entry)) { + return 0; + } + *entry = *new_entry; kvm_irqchip_commit_routes(s);