aboutsummaryrefslogtreecommitdiff
path: root/virt/kvm/irqchip.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2014-06-30 20:51:09 +1000
committerChristoffer Dall <christoffer.dall@linaro.org>2014-10-02 22:21:49 +0200
commit84064185d8183dafa6f6c174fad4b22f9cb6e9bd (patch)
tree4505001f2380fc3de0d916820bb5ecff5c1dc306 /virt/kvm/irqchip.c
parent85a26a96940f616aa6d35d2a2c988dbfef31bf79 (diff)
KVM: Don't keep reference to irq routing table in irqfd struct
This makes the irqfd code keep a copy of the irq routing table entry for each irqfd, rather than a reference to the copy in the actual irq routing table maintained in kvm/virt/irqchip.c. This will enable us to change the routing table structure in future, or even not have a routing table at all on some platforms. The synchronization that was previously achieved using srcu_dereference on the read side is now achieved using a seqcount_t structure. That ensures that we don't get a halfway-updated copy of the structure if we read it while another thread is updating it. We still use srcu_read_lock/unlock around the read side so that when changing the routing table we can be sure that after calling synchronize_srcu, nothing will be using the old routing. Signed-off-by: Paul Mackerras <paulus@samba.org> Tested-by: Eric Auger <eric.auger@linaro.org> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 56f89f3629ffd1a21d38c3d0bea23deac0e284ce) Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'virt/kvm/irqchip.c')
0 files changed, 0 insertions, 0 deletions