All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Dongxiao Xu <dongxiao.xu@intel.com>, xen-devel@lists.xen.org
Cc: keir@xen.org, Ian.Campbell@citrix.com,
	George.Dunlap@eu.citrix.com, stefano.stabellini@eu.citrix.com,
	Ian.Jackson@eu.citrix.com, JBeulich@suse.com,
	dgdegra@tycho.nsa.gov
Subject: Re: [PATCH v13 05/10] x86: dynamically attach/detach QoS monitoring service for a guest
Date: Mon, 4 Aug 2014 10:38:09 +0100	[thread overview]
Message-ID: <53DF5481.3010207@citrix.com> (raw)
In-Reply-To: <1407118626-76843-6-git-send-email-dongxiao.xu@intel.com>

On 04/08/14 03:17, Dongxiao Xu wrote:
> +/* Called with domain lock held, no pqos specific lock needed */
> +int pqos_monitor_alloc_rmid(struct domain *d)
> +{
> +    unsigned int rmid;
> +
> +    ASSERT(pqos_monitor_enabled());
> +
> +    if ( d->arch.pqos_rmid > 0 )
> +        return -EEXIST;
> +
> +    for ( rmid = pqosm->rmid_min; rmid <= pqosm->rmid_max; rmid++ )
> +    {
> +        if ( pqosm->rmid_to_dom[rmid] != DOMID_INVALID)
> +            continue;
> +
> +        pqosm->rmid_to_dom[rmid] = d->domain_id;
> +        break;
> +    }
> +
> +    /* No RMID available, assign RMID=0 by default */
> +    if ( rmid > pqosm->rmid_max )
> +    {
> +        d->arch.pqos_rmid = 0;
> +        return -EUSERS;
> +    }
> +    else
> +        pqosm->rmid_inuse++;

This rmid_inuse needs some concurrency protection; the domain lock is
not suitable.  Probably best to make it an atomic_t and use atomic_inc/dec()

~Andrew

  reply	other threads:[~2014-08-04  9:38 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-04  2:16 [PATCH v13 00/10] enable Cache QoS Monitoring (CQM) feature Dongxiao Xu
2014-08-04  2:16 ` [PATCH v13 01/10] x86: add generic resource (e.g. MSR) access hypercall Dongxiao Xu
2014-08-04 11:07   ` Jan Beulich
2014-08-04  2:16 ` [PATCH v13 02/10] xsm: add resource operation related xsm policy Dongxiao Xu
2014-08-04  2:16 ` [PATCH v13 03/10] tools: provide interface for generic resource access Dongxiao Xu
2014-08-04  2:17 ` [PATCH v13 04/10] x86: detect and initialize Platform QoS Monitoring feature Dongxiao Xu
2014-08-04 11:19   ` Jan Beulich
2014-08-04  2:17 ` [PATCH v13 05/10] x86: dynamically attach/detach QoS monitoring service for a guest Dongxiao Xu
2014-08-04  9:38   ` Andrew Cooper [this message]
2014-08-04 11:23   ` Jan Beulich
2014-08-04  2:17 ` [PATCH v13 06/10] x86: collect global QoS monitoring information Dongxiao Xu
2014-08-04 11:31   ` Jan Beulich
2014-08-04 11:34   ` Jan Beulich
2014-08-04  2:17 ` [PATCH v13 07/10] x86: enable QoS monitoring for each domain RMID Dongxiao Xu
2014-08-04  9:44   ` Andrew Cooper
2014-08-04 11:33   ` Jan Beulich
2014-08-04  2:17 ` [PATCH v13 08/10] x86: add QoS monitoring related MSRs in allowed list Dongxiao Xu
2014-08-04  2:17 ` [PATCH v13 09/10] xsm: add platform QoS related xsm policies Dongxiao Xu
2014-08-04  2:17 ` [PATCH v13 10/10] tools: CMDs and APIs for Platform QoS Monitoring Dongxiao Xu
2014-08-04 10:29 ` [PATCH v13 00/10] enable Cache QoS Monitoring (CQM) feature Jan Beulich

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=53DF5481.3010207@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=dongxiao.xu@intel.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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.