diff for duplicates of <959b6484-c683-65b2-a1e5-3e3784865682@arm.com>
diff --git a/a/1.txt b/N1/1.txt
index 9ef6427..16809bd 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -2,11 +2,11 @@ On 09/03/18 03:14, Yang, Shunyong wrote:
[trimming things a bit]
->>>>>>> static bool lr_signals_eoi_mi(u32 lr_val)
->>>>>>> {
+>>>>>>> ?static bool lr_signals_eoi_mi(u32 lr_val)
+>>>>>>> ?{
>>>>>>> - return !(lr_val & GICH_LR_STATE) && (lr_val &
>>>>>>> GICH_LR_EOI) &&
->>>>>>> - !(lr_val & GICH_LR_HW);
+>>>>>>> - ???????!(lr_val & GICH_LR_HW);
>>>>>>> + return !((lr_val & GICH_LR_STATE) ^ GICH_LR_STATE)
>>>>>>> &&
>>>>>> That feels very wrong. You're now signalling the resampling
@@ -47,7 +47,7 @@ because you're touching the source of the interrupt.
>>>>>
>>>>> M.
>
-> The mdev/mtty documentation is at Documentation/vfio-mediated-
+> The mdev/mtty documentation is at?Documentation/vfio-mediated-
> device.txt. It docmented how to enable mtty device.
> And support for "vfio-pci,sysfsdev" should be availabe in your qemu
> version (I compiled the latest version).
@@ -76,7 +76,7 @@ Thanks. I'll have a look.
>>>>> Date: Thu, 8 Mar 2018 11:14:06 +0000
>>>>> Subject: [PATCH] KVM: arm/arm64: Do not rely on LR state to
>>>>> guess EOI MI
->>>>> status
+>>>>> ?status
>>>>>
>>>>> We so far rely on the LR state to decide whether the guest has
>>>>> EOI'd a level interrupt or not. While this looks like a good
@@ -87,7 +87,7 @@ Thanks. I'll have a look.
>>>>> Interrupt)
>>>>> P -> guest IAR -> A -> exit/entry -> P+A -> guest EOI -> P ->
>>>>> MI
->>>> Do we really get an EOI maintenance interrupt here? Reading the
+>>>> Do we really get an EOI maintenance interrupt here???Reading the
>>>> MISR
>>>> and EISR descriptions make me thing this is not the case...
>> Hum yes in EISR it is said that ICH_LR.State = 0b00!
@@ -99,7 +99,7 @@ Thanks. I'll have a look.
>>>
>>> OK, scratch that. We need to do it without the help of the HW.
>
-> If convenient, maybe we can get something from HW gus. :-)
+> If?convenient, maybe we can get something from HW gus. :-)
>
> Hi, Marc,
>
@@ -120,29 +120,29 @@ notification).
> ===Without my patch===
> ###PL011###
>
-> <4>[ 180.598266] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
+> <4>[??180.598266] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
> latch:0 level:1
-> <4>[ 180.604460] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1
+> <4>[??180.604460] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1
> level:1
-> <4>[ 180.604540] ==>90a0020000000021(active)
-> <4>[ 180.614878] ==>d0a0020000000021(P&A)
-> <4>[ 180.618415] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
+> <4>[??180.604540] ==>90a0020000000021(active)
+> <4>[??180.614878] ==>d0a0020000000021(P&A)
+> <4>[??180.618415] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
> latch:0 level:0
-> <4>[ 180.625508] ==>90a0020000000021(active)
-> <4>[ 180.629343] ==>10a0020000000021(inactive)
+> <4>[??180.625508] ==>90a0020000000021(active)
+> <4>[??180.629343] ==>10a0020000000021(inactive)
>
> ###mtty-vfio###
-> <4>[ 223.123329] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1
+> <4>[??223.123329] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1
> latch:0 level:1
-> <4>[ 223.129736] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
+> <4>[??223.129736] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
> level:1
-> <4>[ 223.136027] ==>50a0020000000024(pending)
-> <4>[ 223.139954] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
+> <4>[??223.136027] ==>50a0020000000024(pending)
+> <4>[??223.139954] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
> level:1
-> <4>[ 223.146460] ==>90a0020000000024(active)
-> <4>[ 223.150273] ==>d0a0020000000024(P&A)
-> <4>[ 223.153827] ==>90a0020000000024(active)
-> <4>[ 223.157668] ==>d0a0020000000024(P&A)
+> <4>[??223.146460] ==>90a0020000000024(active)
+> <4>[??223.150273] ==>d0a0020000000024(P&A)
+> <4>[??223.153827] ==>90a0020000000024(active)
+> <4>[??223.157668] ==>d0a0020000000024(P&A)
So the line is never lowered. That's very odd.
@@ -150,44 +150,44 @@ So the line is never lowered. That's very odd.
>
> I rembered in some tests the state change is cyclic P->A->P&A. But it
> seems I cannot reproduce it. Is output LR state
-> in kvm_vgic_inject_irq() reliable?
+> in?kvm_vgic_inject_irq() reliable?
>
> ===With my patch===
> ###PL011###
-> <4>[ 114.798528] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
+> <4>[??114.798528] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
> latch:0 level:1
-> <4>[ 114.804743] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1
+> <4>[??114.804743] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1
> level:1
-> <4>[ 114.804796] ==>90a0020000000021(active)
-> <4>[ 114.815077] ==>d0a0020000000021(P&A)
-> <4>[ 114.818628] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
+> <4>[??114.804796] ==>90a0020000000021(active)
+> <4>[??114.815077] ==>d0a0020000000021(P&A)
+> <4>[??114.818628] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1
> latch:0 level:0
-> <4>[ 114.825726] ==>90a0020000000021(active)
-> <4>[ 114.829560] ==>10a0020000000021(inactive)
+> <4>[??114.825726] ==>90a0020000000021(active)
+> <4>[??114.829560] ==>10a0020000000021(inactive)
>
> ###mtty-vfio###
>
-> <4>[ 161.579083] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1
+> <4>[??161.579083] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1
> latch:0 level:1
-> <4>[ 161.585419] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
+> <4>[??161.585419] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
> level:1
-> <4>[ 161.591780] ==>50a0020000000024(pending)
-> <4>[ 161.595708] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
+> <4>[??161.591780] ==>50a0020000000024(pending)
+> <4>[??161.595708] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
> level:1
-> <4>[ 161.602204] ==>90a0020000000024(active)
-> <4>[ 161.606023] ==>d0a0020000000024(P&A)
-> <4>[ 161.609561] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1
+> <4>[??161.602204] ==>90a0020000000024(active)
+> <4>[??161.606023] ==>d0a0020000000024(P&A)
+> <4>[??161.609561] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1
> latch:0 level:0
-> <4>[ 161.616693] ==>10a0020000000024(inactive)
-> <4>[ 161.620745] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1
+> <4>[??161.616693] ==>10a0020000000024(inactive)
+> <4>[??161.620745] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1
> latch:0 level:1
-> <4>[ 161.627800] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
+> <4>[??161.627800] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1
> level:1
-> <4>[ 161.627849] ==>90a0020000000024(active)
-> <4>[ 161.640076] ==>d0a0020000000024(P&A)
-> <4>[ 161.642689] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1
+> <4>[??161.627849] ==>90a0020000000024(active)
+> <4>[??161.640076] ==>d0a0020000000024(P&A)
+> <4>[??161.642689] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1
> latch:0 level:0
-> <4>[ 161.649822] ==>10a0020000000024(inactive)
+> <4>[??161.649822] ==>10a0020000000024(inactive)
Which is really bizarre. The device only lowers the line when it is
being told that the interrupt has been processed. That really smells of
diff --git a/a/content_digest b/N1/content_digest
index 25a5d21..7b18ba2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -20,29 +20,16 @@
"ref\0001520565257.2583.57.camel\@hxt-semitech.com\0"
]
[
- "From\0Marc Zyngier <marc.zyngier\@arm.com>\0"
+ "From\0marc.zyngier\@arm.com (Marc Zyngier)\0"
]
[
- "Subject\0Re: [RFC PATCH] KVM: arm/arm64: vgic: change condition for level interrupt resampling\0"
+ "Subject\0[RFC PATCH] KVM: arm/arm64: vgic: change condition for level interrupt resampling\0"
]
[
"Date\0Fri, 9 Mar 2018 09:40:01 +0000\0"
]
[
- "To\0Yang",
- " Shunyong <shunyong.yang\@hxt-semitech.com>",
- " eric.auger\@redhat.com <eric.auger\@redhat.com>",
- " cdall\@kernel.org <cdall\@kernel.org>\0"
-]
-[
- "Cc\0linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
- " linux-kernel\@vger.kernel.org <linux-kernel\@vger.kernel.org>",
- " david.daney\@cavium.com <david.daney\@cavium.com>",
- " ard.biesheuvel\@linaro.org <ard.biesheuvel\@linaro.org>",
- " kvmarm\@lists.cs.columbia.edu <kvmarm\@lists.cs.columbia.edu>",
- " will.deacon\@arm.com <will.deacon\@arm.com>",
- " Zheng",
- " Joey <yu.zheng\@hxt-semitech.com>\0"
+ "To\0linux-arm-kernel\@lists.infradead.org\0"
]
[
"\0000:1\0"
@@ -55,11 +42,11 @@
"\n",
"[trimming things a bit]\n",
"\n",
- ">>>>>>> \302\240static bool lr_signals_eoi_mi(u32 lr_val)\n",
- ">>>>>>> \302\240{\n",
+ ">>>>>>> ?static bool lr_signals_eoi_mi(u32 lr_val)\n",
+ ">>>>>>> ?{\n",
">>>>>>> -\treturn !(lr_val & GICH_LR_STATE) && (lr_val &\n",
">>>>>>> GICH_LR_EOI) &&\n",
- ">>>>>>> -\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240!(lr_val & GICH_LR_HW);\n",
+ ">>>>>>> -\t???????!(lr_val & GICH_LR_HW);\n",
">>>>>>> +\treturn !((lr_val & GICH_LR_STATE) ^ GICH_LR_STATE)\n",
">>>>>>> &&\n",
">>>>>> That feels very wrong. You're now signalling the resampling\n",
@@ -100,7 +87,7 @@
">>>>>\n",
">>>>> \tM.\n",
"> \n",
- "> The mdev/mtty documentation is at\302\240Documentation/vfio-mediated-\n",
+ "> The mdev/mtty documentation is at?Documentation/vfio-mediated-\n",
"> device.txt. It docmented how to enable mtty device.\n",
"> And support for \"vfio-pci,sysfsdev\" should be availabe in your qemu\n",
"> version (I compiled the latest version).\n",
@@ -129,7 +116,7 @@
">>>>> Date: Thu, 8 Mar 2018 11:14:06 +0000\n",
">>>>> Subject: [PATCH] KVM: arm/arm64: Do not rely on LR state to\n",
">>>>> guess EOI MI\n",
- ">>>>> \302\240status\n",
+ ">>>>> ?status\n",
">>>>>\n",
">>>>> We so far rely on the LR state to decide whether the guest has\n",
">>>>> EOI'd a level interrupt or not. While this looks like a good\n",
@@ -140,7 +127,7 @@
">>>>> Interrupt)\n",
">>>>> P -> guest IAR -> A -> exit/entry -> P+A -> guest EOI -> P ->\n",
">>>>> MI\n",
- ">>>> Do we really get an EOI maintenance interrupt here?\302\240\302\240Reading the\n",
+ ">>>> Do we really get an EOI maintenance interrupt here???Reading the\n",
">>>> MISR\n",
">>>> and EISR descriptions make me thing this is not the case...\n",
">> Hum yes in EISR it is said that ICH_LR.State = 0b00!\n",
@@ -152,7 +139,7 @@
">>>\n",
">>> OK, scratch that. We need to do it without the help of the HW.\n",
"> \n",
- "> If\302\240convenient, maybe we can get something from HW gus. :-)\n",
+ "> If?convenient, maybe we can get something from HW gus. :-)\n",
"> \n",
"> Hi, Marc,\n",
"> \n",
@@ -173,29 +160,29 @@
"> ===Without my patch===\n",
"> ###PL011###\n",
"> \n",
- "> <4>[\302\240\302\240180.598266] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
+ "> <4>[??180.598266] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
"> latch:0 level:1\n",
- "> <4>[\302\240\302\240180.604460] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1\n",
+ "> <4>[??180.604460] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240180.604540] ==>90a0020000000021(active)\n",
- "> <4>[\302\240\302\240180.614878] ==>d0a0020000000021(P&A)\n",
- "> <4>[\302\240\302\240180.618415] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
+ "> <4>[??180.604540] ==>90a0020000000021(active)\n",
+ "> <4>[??180.614878] ==>d0a0020000000021(P&A)\n",
+ "> <4>[??180.618415] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
"> latch:0 level:0\n",
- "> <4>[\302\240\302\240180.625508] ==>90a0020000000021(active)\n",
- "> <4>[\302\240\302\240180.629343] ==>10a0020000000021(inactive)\n",
+ "> <4>[??180.625508] ==>90a0020000000021(active)\n",
+ "> <4>[??180.629343] ==>10a0020000000021(inactive)\n",
"> \n",
"> ###mtty-vfio###\n",
- "> <4>[\302\240\302\240223.123329] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1\n",
+ "> <4>[??223.123329] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1\n",
"> latch:0 level:1\n",
- "> <4>[\302\240\302\240223.129736] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
+ "> <4>[??223.129736] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240223.136027] ==>50a0020000000024(pending)\n",
- "> <4>[\302\240\302\240223.139954] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
+ "> <4>[??223.136027] ==>50a0020000000024(pending)\n",
+ "> <4>[??223.139954] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240223.146460] ==>90a0020000000024(active)\n",
- "> <4>[\302\240\302\240223.150273] ==>d0a0020000000024(P&A)\n",
- "> <4>[\302\240\302\240223.153827] ==>90a0020000000024(active)\n",
- "> <4>[\302\240\302\240223.157668] ==>d0a0020000000024(P&A)\n",
+ "> <4>[??223.146460] ==>90a0020000000024(active)\n",
+ "> <4>[??223.150273] ==>d0a0020000000024(P&A)\n",
+ "> <4>[??223.153827] ==>90a0020000000024(active)\n",
+ "> <4>[??223.157668] ==>d0a0020000000024(P&A)\n",
"\n",
"So the line is never lowered. That's very odd.\n",
"\n",
@@ -203,44 +190,44 @@
"> \n",
"> I rembered in some tests the state change is cyclic P->A->P&A. But it\n",
"> seems I cannot reproduce it. Is output LR state\n",
- "> in\302\240kvm_vgic_inject_irq() reliable?\n",
+ "> in?kvm_vgic_inject_irq() reliable?\n",
"> \n",
"> ===With my patch===\n",
"> ###PL011###\n",
- "> <4>[\302\240\302\240114.798528] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
+ "> <4>[??114.798528] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
"> latch:0 level:1\n",
- "> <4>[\302\240\302\240114.804743] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1\n",
+ "> <4>[??114.804743] ##vgic_queue_irq_unlock 388 irq->intid:33 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240114.804796] ==>90a0020000000021(active)\n",
- "> <4>[\302\240\302\240114.815077] ==>d0a0020000000021(P&A)\n",
- "> <4>[\302\240\302\240114.818628] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
+ "> <4>[??114.804796] ==>90a0020000000021(active)\n",
+ "> <4>[??114.815077] ==>d0a0020000000021(P&A)\n",
+ "> <4>[??114.818628] kvm_vgic_inject_irq 453 irq:33 enabled:1 config:1\n",
"> latch:0 level:0\n",
- "> <4>[\302\240\302\240114.825726] ==>90a0020000000021(active)\n",
- "> <4>[\302\240\302\240114.829560] ==>10a0020000000021(inactive)\n",
+ "> <4>[??114.825726] ==>90a0020000000021(active)\n",
+ "> <4>[??114.829560] ==>10a0020000000021(inactive)\n",
"> \n",
"> ###mtty-vfio###\n",
"> \n",
- "> <4>[\302\240\302\240161.579083] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1\n",
+ "> <4>[??161.579083] kvm_vgic_inject_irq 453 irq:36 enabled:0 config:1\n",
"> latch:0 level:1\n",
- "> <4>[\302\240\302\240161.585419] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
+ "> <4>[??161.585419] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240161.591780] ==>50a0020000000024(pending)\n",
- "> <4>[\302\240\302\240161.595708] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
+ "> <4>[??161.591780] ==>50a0020000000024(pending)\n",
+ "> <4>[??161.595708] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240161.602204] ==>90a0020000000024(active)\n",
- "> <4>[\302\240\302\240161.606023] ==>d0a0020000000024(P&A)\n",
- "> <4>[\302\240\302\240161.609561] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1\n",
+ "> <4>[??161.602204] ==>90a0020000000024(active)\n",
+ "> <4>[??161.606023] ==>d0a0020000000024(P&A)\n",
+ "> <4>[??161.609561] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1\n",
"> latch:0 level:0\n",
- "> <4>[\302\240\302\240161.616693] ==>10a0020000000024(inactive)\n",
- "> <4>[\302\240\302\240161.620745] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1\n",
+ "> <4>[??161.616693] ==>10a0020000000024(inactive)\n",
+ "> <4>[??161.620745] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1\n",
"> latch:0 level:1\n",
- "> <4>[\302\240\302\240161.627800] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
+ "> <4>[??161.627800] ##vgic_queue_irq_unlock 388 irq->intid:36 enable:1\n",
"> level:1\n",
- "> <4>[\302\240\302\240161.627849] ==>90a0020000000024(active)\n",
- "> <4>[\302\240\302\240161.640076] ==>d0a0020000000024(P&A)\n",
- "> <4>[\302\240\302\240161.642689] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1\n",
+ "> <4>[??161.627849] ==>90a0020000000024(active)\n",
+ "> <4>[??161.640076] ==>d0a0020000000024(P&A)\n",
+ "> <4>[??161.642689] kvm_vgic_inject_irq 453 irq:36 enabled:1 config:1\n",
"> latch:0 level:0\n",
- "> <4>[\302\240\302\240161.649822] ==>10a0020000000024(inactive)\n",
+ "> <4>[??161.649822] ==>10a0020000000024(inactive)\n",
"\n",
"Which is really bizarre. The device only lowers the line when it is\n",
"being told that the interrupt has been processed. That really smells of\n",
@@ -255,4 +242,4 @@
"Jazz is not dead. It just smells funny..."
]
-8607522117b4466a5169581318d218402be0be2f09f63a813716b1dc6a340800
+64d5cb6b6e871f5116c5a345d03fc908b3fe90e7be219dc90c42a74feae077e4
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.