xen-devel
Re: [Xen-devel][VTD][PATCH][RESEND]add a timer for the shared interrupt
Applied, but I have the following questions:
1. Your changes to hvm_pci_intx_assert() have completely disappeared. Did you decide you didn’t need them after all, or have you simply resolved to do without them to get the patch in more quickly?
2. You set_timer() in hvm_do_IRQ_dpci(). Why is this necessary, given that vmx_dirq_assist() does the same, and should run shortly after since you vcpu_kick()? Is this to solve the delay between assigning a device to a new HVM guest and when that HVM guest gets unpaused after it is fully constructed? In that case we would be better to bail from hvm_do_IRQ_dpci() if the domain ‘is_paused_by_controller’, and return 0.
Thanks,
Keir
On 19/10/07 04:46, "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx> wrote:
Keir,
Thanks for your points. This is the updated patch. I have fixed 1,2,3,4 of your comments.
Signed-off-by: Xin, Xiaohui<xiaohui.xin@xxxxxxxxx
Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>
From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx]
Sent: 2007年10月18日 17:36
To: Xin, Xiaohui; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel][VTD][RESEND]add a timer for the shared interrupt issue for vt-d
Getting better, some more points:
1. The timeout values are bizarrely non-round (8192000). Do you really need 4 significant figures of precision? Do you really mean for an 8ms timeout? It would then be better to define as MILLISECS(8). Much clearer as it shows the units.
2. You can’t stick timer_hvm[] in the generic common domain.c. It belongs in the hvm_irq_dpci structure, making it clear it is HVM-specific, and also meaning that memory for the array is only allocated for those domains that actually have devices passed through to them.
3. The extra argument to hvm_dpci_eoi() is used only to decide whether to stop_timer() or not. You’re aware you can call stop_timer() quite safely from within the timeout callback handler? I think that means this extra argument is unnecessary.
4. The comment added to hvm_pci_intx_assert() is delightfully vague. Also I think it may be wrong — do you really mean “before the driver loading, the vioapic redir entry may be unmasked”?
So you need another spin. I’m still unconvinced that the hvm_pci_intx_assert() changes are the right way to go, but I need to consider the patch some more to see if there is a cleaner way. If there is I will modify the patch myself before I check it in. The other points listed above you need to address yourself.
-- Keir
On 17/10/07 14:44, "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx> wrote:
Keir,
It’s a resending patch for the timeout mechanism to deal with the shared interrupt issue for vt-d enabled hvm guest.
We modify the patch following your comments last time and make some other small fix:
1) We don’t touch the locking around the hvm_dpci_eoi().
2) Remove the HZ from the TIME_OUT_PERIOD macro which may confuse others.
3) Add some explanation to the return value for the hvm_pci_intx_assert(), and the has_timer parameter for the hvm_dpci_eoi.
We have tested it with shared interrupt between dom0/HVM(pcie/disk) and HVM/HVM(pcie/pcie).
Signed-off-by: Xin, Xiaohui<xiaohui.xin@xxxxxxxxx
Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|