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

Re: [Xen-devel] cpuidle causing Dom0 soft lockups



>>> Keir Fraser <keir.fraser@xxxxxxxxxxxxx> 15.02.10 18:33 >>>
>Attached is a better version of your patch (I think). I haven't applied it
>because I don't see why the ASSERT() in sched_credit.c is correct. How do
>you know for sure that !v->is_urgent there (and therefore avoid urgent_count
>manipulation)?

Two remarks: For one, your patch doesn't consider vCPU-s with event
delivery disabled urgent anymore. Second, here

>+    /*
>+     * Transfer urgency status to new CPU before switching CPUs, as once
>+     * the switch occurs, v->is_urgent is no longer protected by the per-CPU
>+     * scheduler lock we are holding.
>+     */
>+    if ( unlikely(v->is_urgent) )
>+    {
>+        atomic_dec(&per_cpu(schedule_data, old_cpu).urgent_count);
>+        atomic_inc(&per_cpu(schedule_data, new_cpu).urgent_count);
>+    }

I would think we should either avoid the atomic ops altogether if
old_cpu == new_cpu, or switch the updating order (inc before dec).

As to your other question - yes, I'd certainly like to see this included in
-rc3.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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