[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] x86/HVM: fix forwarding of internally cached requests



>>> On 22.04.16 at 04:02, <changjzh@xxxxxxxxx> wrote:
> 2016-04-21 22:19 GMT+08:00 Jan Beulich <JBeulich@xxxxxxxx>:
> 
>> >>> On 30.03.16 at 09:28, <changjzh@xxxxxxxxx> wrote:
>> > 2016-03-29 18:39 GMT+08:00 Jan Beulich <JBeulich@xxxxxxxx>:
>> >> ---
>> >> I assume this also addresses the issue which
>> >>
>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg03189.html 
>> >> attempted to deal with in a not really acceptable way.
>> >
>> > I hope this issue is resolved, but it still exists.
>>
>> Mind giving the small below patch a try?
>>
>> Jan
>>
>> --- unstable.orig/xen/arch/x86/msi.c
>> +++ unstable/xen/arch/x86/msi.c
>> @@ -430,8 +430,13 @@ static bool_t msi_set_mask_bit(struct ir
>>          {
>>              writel(flag, entry->mask_base +
>> PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
>>              readl(entry->mask_base + PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
>> +
>>              if ( likely(control & PCI_MSIX_FLAGS_ENABLE) )
>>                  break;
>> +
>> +            entry->msi_attrib.host_masked = host;
>> +            entry->msi_attrib.guest_masked = guest;
>> +
>>              flag = 1;
>>          }
>>          else if ( flag && !(control & PCI_MSIX_FLAGS_MASKALL) )
>>
>>
>> The issue still exist. But, the host_masked is changed.

At least something.

> guest_masked can be changed by guest_mask_msi_irq() function.
> The function is not called as previous e-mail analysis.

I have to admit that I had quite a bit of trouble understanding that
previous patch of yours. The function not being called of course
needs to be understood, which requires a trace of the writes of the
guest to the vector control field(s), including the ones before the
MSI-X region gets registered. Just to double check - was this latest
try with the other patch also in place, or just the small one I had
sent yesterday?

I do have a debugging patch around for the necessary logging to
get added, but that's against quite a bit older a hypervisor version,
so likely would serve only as a reference. Let me know if you would
still like me to hand that to you.

Jan

> No patch xen log message:
> (XEN)  MSI-X  114 vec=73 lowest  edge   assert  log lowest dest=00000555
> mask=1/HG/1
> (XEN)  MSI-X  115 vec=7b lowest  edge   assert  log lowest dest=00000555
> mask=1/HG/1
> (XEN)  MSI-X  116 vec=83 lowest  edge   assert  log lowest dest=00000555
> mask=1/HG/1
> 
> Patched-xen log message :
> (XEN)  MSI-X  114 vec=76 lowest  edge   assert  log lowest dest=00000555
> mask=1/ G/1
> (XEN)  MSI-X  115 vec=7e lowest  edge   assert  log lowest dest=00000555
> mask=1/ G/1
> (XEN)  MSI-X  116 vec=86 lowest  edge   assert  log lowest dest=00000555
> mask=1/ G/1
> 
> -- 
> Jianzhong,Chang




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.