From: Sheng Yang <sheng@linux.intel.com>
To: Avi Kivity <avi@redhat.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH 2/3] KVM: Use kvm_free_assigned_irq() for free irq
Date: Tue, 30 Dec 2008 19:11:10 +0800 [thread overview]
Message-ID: <200812301911.10975.sheng@linux.intel.com> (raw)
In-Reply-To: <4959F7C5.101@redhat.com>
On Tuesday 30 December 2008 18:28:21 Avi Kivity wrote:
> Sheng Yang wrote:
> > Which is more convenient...
> >
> > Signed-off-by: Sheng Yang <sheng@linux.intel.com>
> > ---
> > virt/kvm/kvm_main.c | 10 ++--------
> > 1 files changed, 2 insertions(+), 8 deletions(-)
> >
> > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> > index ffd261d..cd84b3e 100644
> > --- a/virt/kvm/kvm_main.c
> > +++ b/virt/kvm/kvm_main.c
> > @@ -284,11 +284,7 @@ static int assigned_device_update_intx(struct kvm
> > *kvm, return 0;
> >
> > if (irqchip_in_kernel(kvm)) {
> > - if (!msi2intx &&
> > - adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI) {
> > - free_irq(adev->host_irq, (void *)kvm);
> > - pci_disable_msi(adev->dev);
> > - }
> > + kvm_free_assigned_irq(kvm, adev);
>
> This will call cancel_work_sync(), which may wait upon kvm->lock, which
> I think we hold here -> deadlock.
>
> I think that the current code has even bigger problems (races), since a
> scheduled work can arrive after the interrupt has been freed and
> reallocated.
For the race problem, how about put a cancel_work_sync() for all devices at
the beginning of kvm_destroy_vm? Something named kvm_arch_cancel_work_sync...
--
regards
Yang, Sheng
next prev parent reply other threads:[~2008-12-30 11:11 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-30 5:49 [0/3][RESEND] Device assignment code clean up and MSI disable support Sheng Yang
2008-12-30 5:49 ` [PATCH 1/3] KVM: Add MSI_ACTION flag for assigned irq Sheng Yang
2008-12-30 10:19 ` Avi Kivity
2008-12-30 10:26 ` Sheng Yang
2008-12-30 10:31 ` Avi Kivity
2008-12-30 10:34 ` Sheng Yang
2008-12-30 10:41 ` Avi Kivity
2008-12-30 10:48 ` Sheng Yang
2008-12-30 5:49 ` [PATCH 2/3] KVM: Use kvm_free_assigned_irq() for free irq Sheng Yang
2008-12-30 10:28 ` Avi Kivity
2008-12-30 11:11 ` Sheng Yang [this message]
2008-12-30 11:16 ` Avi Kivity
2008-12-30 11:22 ` Sheng Yang
2008-12-30 11:27 ` Avi Kivity
2008-12-30 5:49 ` [PATCH 3/3] KVM: Add support to disable MSI for assigned device Sheng Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200812301911.10975.sheng@linux.intel.com \
--to=sheng@linux.intel.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.