All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zefan Li <lizefan@huawei.com>
To: Paolo Bonzini <pbonzini@redhat.com>, <linux-kernel@vger.kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH 3/3] cpuset: make nr_cpusets private
Date: Wed, 2 Aug 2017 09:08:10 +0800	[thread overview]
Message-ID: <598125FA.1080900@huawei.com> (raw)
In-Reply-To: <1501601046-35683-4-git-send-email-pbonzini@redhat.com>

On 2017/8/1 23:24, Paolo Bonzini wrote:
> Any use of key->enabled (that is static_key_enabled and static_key_count)
> outside jump_label_lock should handle its own serialization.  In the case
> of cpusets_enabled_key, the key is always incremented/decremented under
> cpuset_mutex, and hence the same rule applies to nr_cpusets.  The rule
> *is* respected currently, but the mutex is static so nr_cpusets should
> be static too.
> 
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Zefan Li <lizefan@huawei.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Acked-by: Zefan Li <lizefan@huawei.com>

> ---
>  include/linux/cpuset.h | 6 ------
>  kernel/cgroup/cpuset.c | 7 +++++++
>  2 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h
> index 119a3f9604b0..cedcc910b7a7 100644
> --- a/include/linux/cpuset.h
> +++ b/include/linux/cpuset.h
> @@ -24,12 +24,6 @@ static inline bool cpusets_enabled(void)
>  	return static_branch_unlikely(&cpusets_enabled_key);
>  }
>  
> -static inline int nr_cpusets(void)
> -{
> -	/* jump label reference count + the top-level cpuset */
> -	return static_key_count(&cpusets_enabled_key.key) + 1;
> -}
> -
>  static inline void cpuset_inc(void)
>  {
>  	static_branch_inc(&cpusets_enabled_key);
> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> index ae643412948a..f65db17e9e23 100644
> --- a/kernel/cgroup/cpuset.c
> +++ b/kernel/cgroup/cpuset.c
> @@ -576,6 +576,13 @@ static void update_domain_attr_tree(struct sched_domain_attr *dattr,
>  	rcu_read_unlock();
>  }
>  
> +/* Must be called with cpuset_mutex held.  */
> +static inline int nr_cpusets(void)
> +{
> +	/* jump label reference count + the top-level cpuset */
> +	return static_key_count(&cpusets_enabled_key.key) + 1;
> +}
> +
>  /*
>   * generate_sched_domains()
>   *
> 

  reply	other threads:[~2017-08-02  1:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-01 15:24 [PATCH 0/3] jump_labels: concurrency fixes Paolo Bonzini
2017-08-01 15:24 ` [PATCH 1/3] jump_labels: fix concurrent static_key_enable/disable() Paolo Bonzini
2017-08-01 16:45   ` Peter Zijlstra
2017-08-01 16:46     ` Paolo Bonzini
2017-08-10 12:12   ` [tip:locking/core] jump_label: Fix " tip-bot for Paolo Bonzini
2017-08-01 15:24 ` [PATCH 2/3] jump_labels: do not use unserialized static_key_enabled Paolo Bonzini
2017-08-01 20:52   ` Eric Dumazet
2017-08-02  5:45     ` Paolo Bonzini
2017-08-10 12:12   ` [tip:locking/core] jump_label: Do not use unserialized static_key_enabled() tip-bot for Paolo Bonzini
2017-08-01 15:24 ` [PATCH 3/3] cpuset: make nr_cpusets private Paolo Bonzini
2017-08-02  1:08   ` Zefan Li [this message]
2017-08-10 12:13   ` [tip:locking/core] cpuset: Make " tip-bot for Paolo Bonzini

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=598125FA.1080900@huawei.com \
    --to=lizefan@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.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.