From: Hollis Blanchard <hollisb@us.ibm.com>
To: Keir Fraser <keir@xensource.com>
Cc: xen-devel <xen-devel@lists.xensource.com>,
xen-ppc-devel <xen-ppc-devel@lists.xensource.com>
Subject: Re: [Xen-changelog] [xen-unstable] xen: Split domain_flags into discrete first-class fields in the
Date: Thu, 05 Apr 2007 10:44:03 -0500 [thread overview]
Message-ID: <1175787843.20895.7.camel@basalt> (raw)
In-Reply-To: <200703302310.l2UNAF7O021926@xenbits2.xensource.com>
On Fri, 2007-03-30 at 16:10 -0700, Xen patchbot-unstable wrote:
> # HG changeset patch
> # User kfraser@localhost.localdomain
> # Date 1175177666 -3600
> # Node ID 4b13fc910acf0019c27cbae35181433b381e88d1
> # Parent 31f20aaac8188bc1366b80e55e47b328db425180
> xen: Split domain_flags into discrete first-class fields in the
> domain structure. This makes them quicker to access, and simplifies
> domain pause and checking of runnable status.
> diff -r 31f20aaac818 -r 4b13fc910acf xen/common/domain.c
> --- a/xen/common/domain.c Thu Mar 29 13:29:24 2007 +0100
> +++ b/xen/common/domain.c Thu Mar 29 15:14:26 2007 +0100
> @@ -262,8 +264,12 @@ void domain_kill(struct domain *d)
> {
> domain_pause(d);
>
> - if ( test_and_set_bit(_DOMF_dying, &d->domain_flags) )
> + /* Already dying? Then bail. */
> + if ( xchg(&d->is_dying, 1) )
> return;
> +
> + /* Tear down state /after/ setting the dying flag. */
> + smp_wmb();
>
> gnttab_release_mappings(d);
> domain_relinquish_resources(d);
You're now doing xchg() on a 1-byte variable, which does not work on
PowerPC.
This is an interface problem: using the interface in a way that works on
x86 fails on other architectures. PLEASE let's redefine the interface to
prevent this from happening. In this case, that means replacing the
xchg() macro with
static inline xchg(atomic_t *ptr, atomic_t val)
and changing the type of 'is_dying'.
--
Hollis Blanchard
IBM Linux Technology Center
next parent reply other threads:[~2007-04-05 15:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200703302310.l2UNAF7O021926@xenbits2.xensource.com>
2007-04-05 15:44 ` Hollis Blanchard [this message]
2007-04-05 15:56 ` Re: [Xen-changelog] [xen-unstable] xen: Split domain_flags into discrete first-class fields in the Keir Fraser
2007-04-05 16:59 ` Keir Fraser
2007-04-05 17:21 ` Hollis Blanchard
2007-04-05 17:08 ` Hollis Blanchard
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=1175787843.20895.7.camel@basalt \
--to=hollisb@us.ibm.com \
--cc=keir@xensource.com \
--cc=xen-devel@lists.xensource.com \
--cc=xen-ppc-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.