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>
This commit is contained in:
Michael S. Tsirkin 2013-06-04 14:52:35 +03:00 committed by Paolo Bonzini
parent 0fbc207403
commit 40509f7f52

View File

@ -1034,6 +1034,10 @@ static int kvm_update_routing_entry(KVMState *s,
continue; continue;
} }
if(!memcmp(entry, new_entry, sizeof *entry)) {
return 0;
}
*entry = *new_entry; *entry = *new_entry;
kvm_irqchip_commit_routes(s); kvm_irqchip_commit_routes(s);