|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: A race condition introduced by changeset 15175: Re-i
Keir Fraser wrote:
> On 21/10/08 04:38, "Mukesh" <mukesh.rathor@xxxxxxxxxx> wrote:
>
>>> Hi Dexuan,
>>>
>>> Are you really sure that this is the problem? The suspend_lock was
>>> introduced specifically to solve this problem. Note that the BSP takes this
>>> lock before messing with the hypercall page.
>>>
>>> -- Keir
>> I'm also looking at this now (I'm on 3.1.4 BTW). I see both hang and panic.
it
>> appears I see the hang because the "master" vcpu is trying to catch other
>> vcpus
>> right at the cpu_relax so it can grab the lock in write mode. With many VCPUs
>> it's just not happening..... Not sure i like the design of this very much...
>> i'm
>> gonna try to modify it a bit ....
>
> Hmmm, yes, agreed. We need a completely different approach, or a lock which
> doesn't allow in more readers when there is a waiting writer. I'll look into
> it.
>
> -- Keir
>
For now I fixed by removing yield and the lock at the expense of
burning a little cpu. Please let me know if you see any problems
with it...
ap_suspend()
..
while (info->do_spin) {
cpu_relax();
}
..
bp_suspend():
..
if (!suspend_cancelled) {
platform_pci_resume();
gnttab_resume();
irq_resume();
}
...
thanks,
Mukesh
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|