From: Keir Fraser <keir.fraser@eu.citrix.com>
To: hj lee <kerdosa@gmail.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: Deadload between sched_adjust() in schedule.c and compat_failsafe_callback in entry.S
Date: Wed, 08 Apr 2009 07:03:59 +0100 [thread overview]
Message-ID: <C601FCDF.81DF%keir.fraser@eu.citrix.com> (raw)
In-Reply-To: <f75feb220904072241v23d477b9meb67f9b6d972b11@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 1296 bytes --]
This should be easily fixable. I¹ll look into it.
-- Keir
On 08/04/2009 06:41, "hj lee" <kerdosa@gmail.com> wrote:
> We have a deadlock in dom0 running X86_64 CentOs 5.2 when dom0 runs libvirtd
> and xentop together, this deadlock is easily reproducible. The dom0 has four
> vcpus assigned. The libvirt is running on vcpu#0 and xentop is running on
> vcpu#3. The vcpu#0 is processing XEN_DOMCTL_scheduler_op of domctl.c which
> calls sched_adjust(). The sched_adjust() calls vcpu_pause(v) for each vcpu in
> the domain, and vcpu_pause(v) calls vcpu_sleep_sync(v) where it waits for
> vcpu#3 pause. On the other hand vcpu#3 is executing vcpu_runstate_get() in
> schedule.c called from XEN_SYSCTL_getdomaininfolist in sysctl.c. At the time
> of deadlock somehow this vcpu#3's exception RIP is pointing
> [compat_failsafe_callback+86], which is cmpb $0x0,87987(%rip) #
> 0xffff828c8019ef00 <domctl_lock.10183>. I am not sure how vcpu#3 gets into
> this code, but what I believe it is trying to get the spinlock on domctl_lock.
> But vcpu#0 had a lock on the domctl_lock when it enters do_comctl(). So two
> vcpus are in deadlock.
>
> Can anybody explain how and when compat_failsafe_callback in entry.S is get
> called? Why does it try to get a lock on domctl_lock?
[-- Attachment #1.2: Type: text/html, Size: 1727 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2009-04-08 6:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-08 5:41 Deadload between sched_adjust() in schedule.c and compat_failsafe_callback in entry.S hj lee
2009-04-08 6:03 ` Keir Fraser [this message]
2009-04-10 0:19 ` hj lee
2009-05-05 21:19 ` hj lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=C601FCDF.81DF%keir.fraser@eu.citrix.com \
--to=keir.fraser@eu.citrix.com \
--cc=kerdosa@gmail.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.