From: Hao Xu <haoxu@linux.alibaba.com> To: Jens Axboe <axboe@kernel.dk>, Zefan Li <lizefan.x@bytedance.com>, Tejun Heo <tj@kernel.org>, Johannes Weiner <hannes@cmpxchg.org>, Pavel Begunkov <asml.silence@gmail.com> Cc: io-uring@vger.kernel.org, cgroups@vger.kernel.org, Joseph Qi <joseph.qi@linux.alibaba.com> Subject: [PATCH 1/2] cpuset: add a helper to check if cpu in cpuset of current task Date: Wed, 1 Sep 2021 18:18:32 +0800 [thread overview] Message-ID: <20210901101833.69535-2-haoxu@linux.alibaba.com> (raw) In-Reply-To: <20210901101833.69535-1-haoxu@linux.alibaba.com> Check if a cpu is in the cpuset of current task, not guaranteed that cpu is online. Signed-off-by: Hao Xu <haoxu@linux.alibaba.com> --- include/linux/cpuset.h | 7 +++++++ kernel/cgroup/cpuset.c | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index 04c20de66afc..fad77c91bc1f 100644 --- a/include/linux/cpuset.h +++ b/include/linux/cpuset.h @@ -116,6 +116,8 @@ static inline int cpuset_do_slab_mem_spread(void) extern bool current_cpuset_is_being_rebound(void); +extern bool test_cpu_in_current_cpuset(int cpu); + extern void rebuild_sched_domains(void); extern void cpuset_print_current_mems_allowed(void); @@ -257,6 +259,11 @@ static inline bool current_cpuset_is_being_rebound(void) return false; } +static inline bool test_cpu_in_current_cpuset(int cpu) +{ + return false; +} + static inline void rebuild_sched_domains(void) { partition_sched_domains(1, NULL, NULL); diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index adb5190c4429..a63c27e9430e 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -1849,6 +1849,17 @@ bool current_cpuset_is_being_rebound(void) return ret; } +bool test_cpu_in_current_cpuset(int cpu) +{ + bool ret; + + rcu_read_lock(); + ret = cpumask_test_cpu(cpu, task_cs(current)->effective_cpus); + rcu_read_unlock(); + + return ret; +} + static int update_relax_domain_level(struct cpuset *cs, s64 val) { #ifdef CONFIG_SMP -- 2.24.4
next prev parent reply other threads:[~2021-09-01 10:18 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-01 10:18 [PATCH v3 0/2] refactor sqthread cpu binding logic Hao Xu 2021-09-01 10:18 ` Hao Xu [this message] 2021-09-01 10:18 ` [PATCH 2/2] io_uring: consider cgroup setting when binding sqpoll cpu Hao Xu 2021-09-01 12:31 ` Hao Xu 2021-09-01 12:43 [PATCH v4 0/2] refactor sqthread cpu binding logic Hao Xu 2021-09-01 12:43 ` [PATCH 1/2] cpuset: add a helper to check if cpu in cpuset of current task Hao Xu
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=20210901101833.69535-2-haoxu@linux.alibaba.com \ --to=haoxu@linux.alibaba.com \ --cc=asml.silence@gmail.com \ --cc=axboe@kernel.dk \ --cc=cgroups@vger.kernel.org \ --cc=hannes@cmpxchg.org \ --cc=io-uring@vger.kernel.org \ --cc=joseph.qi@linux.alibaba.com \ --cc=lizefan.x@bytedance.com \ --cc=tj@kernel.org \ --subject='Re: [PATCH 1/2] cpuset: add a helper to check if cpu in cpuset of current task' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).