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

[Xen-devel] deadlock in the credit2



IMHO, it seems to be deadlock when changing dom0's weight in credit2
scheduler.

when the sched_adjust() in schedule.c is called, it grabs the
schedule_lock after pausing all of the vcpus

and then, csched_dom_cntl in sched_credit2.c, it also grab the
schedule_lock by using vcpu_schedule_lock_irq().

In the credit2, all of the percpu schedule_lock points out same runqueue
lock if they belong to same runqueue.

Eventually, all of vcpu are paused except for itself running the code,
and it try to grab schedule_lock that was grabbed by itself.

Am I right? If I was wrong, please tell me my misunderstanding.

And, I have a question about the code, where are in sched_adjust() in
schedule.c

if ( d == current->domain )
vcpu_schedule_lock_irq(current);

It was very hard to understan for me..:) What does it exactly mean?

I would be very grateful for any comments

-- 
Best Regards,
Eunbyung Park


_______________________________________________
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®.