All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Zheng Xiang <zhengxiang9@huawei.com>
Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de,
	jason@lakedaemon.net, wanghaibin.wang@huawei.com
Subject: Re: [PATCH] irqchip/gic-v3-its: Lock its device list during find and create its device
Date: Thu, 31 Jan 2019 15:12:42 +0000	[thread overview]
Message-ID: <6c44c2d4-d507-e01a-eef5-894ae71209ef@arm.com> (raw)
In-Reply-To: <32354a2a-b1b3-e03b-c486-c17aee1bed8d@huawei.com>

Hi Zeng,

On 31/01/2019 14:47, Zheng Xiang wrote:
> Hi Marc,
> 
> On 2019/1/29 13:42, Zheng Xiang wrote:
>> On 2019/1/28 21:51, Marc Zyngier wrote:
>>> On 28/01/2019 07:13, Zheng Xiang wrote:
>>>> Hi Marc,
>>>>
>>>> Thanks for your review.
>>>>
>>>> On 2019/1/26 19:38, Marc Zyngier wrote:
>>>>> Hi Zheng,
>>>>>
>>>>> On Sat, 26 Jan 2019 06:16:24 +0000,
>>>>> Zheng Xiang <zhengxiang9@huawei.com> wrote:
>>>>>>
>>>>>> Currently each PCI device under a PCI Bridge shares the same device id
>>>>>> and ITS device. Assume there are two PCI devices call its_msi_prepare
>>>>>> concurrently and they are both going to find and create their ITS
>>>>>> device. There is a chance that the later one couldn't find ITS device
>>>>>> before the other one creating the ITS device. It will cause the later
>>>>>> one to create a different ITS device even if they have the same
>>>>>> device_id.
>>>>>
>>>>> Interesting finding. Is this something you've actually seen in practice
>>>>> with two devices being probed in parallel? Or something that you found
>>>>> by inspection?
>>>>
>>>> Yes, I find this problem after analyzing the reason of VM hung. At last, I
>>>> find that the virtio-gpu cannot receive the MSI interrupts due to sharing
>>>> a same event_id as virtio-serial.
>>>>
>>>> See https://lkml.org/lkml/2019/1/10/299 for the bug report.
>>>>
>>>> This problem can be reproducted with high probability by booting a Qemu/KVM
>>>> VM with a virtio-serial controller and a virtio-gpu adding to a PCI Bridge
>>>> and also adding some delay before creating ITS device.
>>>
>>> Fair enough. Do you mind sharing your QEMU command line? It'd be useful
>>> if I could reproduce it here (and would give me a way to check that it
>>> doesn't regress).
>>
> 
> Have you reproduced it with my QEMU command line?
> 
> If so, should I send a V2 patch with your suggestion?

I've queued the following, much more complete patch:

https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?h=irq/irqchip-next&id=9791ec7df0e7b4d80706ccea8f24b6542f6059e9

Can you check that it works for you? I didn't manage to get the right
timing conditions, but I also had issues getting virtio-gpu running on
my TX2, so one might explain the other.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2019-01-31 15:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-26  6:16 [PATCH] irqchip/gic-v3-its: Lock its device list during find and create its device Zheng Xiang
2019-01-26 11:38 ` Marc Zyngier
2019-01-28  7:13   ` Zheng Xiang
2019-01-28 13:51     ` Marc Zyngier
2019-01-29  5:42       ` Zheng Xiang
2019-01-31 14:47         ` Zheng Xiang
2019-01-31 15:12           ` Marc Zyngier [this message]
2019-02-01  6:41             ` Zheng Xiang
2019-02-01  9:28               ` Marc Zyngier
2019-02-02  1:51                 ` Zheng Xiang

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=6c44c2d4-d507-e01a-eef5-894ae71209ef@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wanghaibin.wang@huawei.com \
    --cc=zhengxiang9@huawei.com \
    /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.