From: riel@redhat.com
To: linux-kernel@vger.kernel.org
Cc: Rik van Riel <riel@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Clark Williams <williams@redhat.com>,
Li Zefan <lizefan@huawei.com>, Ingo Molnar <mingo@redhat.com>,
Luiz Capitulino <lcapitulino@redhat.com>,
David Rientjes <rientjes@google.com>,
Mike Galbraith <umgwanakikbuti@gmail.com>,
cgroups@vger.kernel.org
Subject: [PATCH 2/2] cpusets,isolcpus: add file to show isolated cpus in cpuset
Date: Wed, 25 Feb 2015 11:38:08 -0500 [thread overview]
Message-ID: <1424882288-2910-3-git-send-email-riel@redhat.com> (raw)
In-Reply-To: <1424882288-2910-1-git-send-email-riel@redhat.com>
From: Rik van Riel <riel@redhat.com>
The previous patch makes it so the code skips over isolcpus when
building scheduler load balancing domains. This makes it hard to
see for a user which of the CPUs in a cpuset are participating in
load balancing, and which ones are isolated cpus.
Add a cpuset.isolcpus file with info on which cpus in a cpuset are
isolated CPUs.
This file is read-only for now. In the future we could extend things
so isolcpus can be changed at run time, for the root (system wide)
cpuset only.
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Clark Williams <williams@redhat.com>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Luiz Capitulino <lcapitulino@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
Cc: cgroups@vger.kernel.org
Signed-off-by: Rik van Riel <riel@redhat.com>
---
kernel/cpuset.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index b544e5229d99..94bf59588e23 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -1563,6 +1563,7 @@ typedef enum {
FILE_MEMORY_PRESSURE,
FILE_SPREAD_PAGE,
FILE_SPREAD_SLAB,
+ FILE_ISOLCPUS,
} cpuset_filetype_t;
static int cpuset_write_u64(struct cgroup_subsys_state *css, struct cftype *cft,
@@ -1704,6 +1705,20 @@ static ssize_t cpuset_write_resmask(struct kernfs_open_file *of,
return retval ?: nbytes;
}
+static void cpuset_seq_print_isolcpus(struct seq_file *sf, struct cpuset *cs)
+{
+ cpumask_var_t my_isolated_cpus;
+
+ if (!alloc_cpumask_var(&my_isolated_cpus, GFP_KERNEL))
+ return;
+
+ cpumask_and(my_isolated_cpus, cs->cpus_allowed, cpu_isolated_map);
+
+ seq_printf(sf, "%*pbl\n", nodemask_pr_args(my_isolated_cpus));
+
+ free_cpumask_var(my_isolated_cpus);
+}
+
/*
* These ascii lists should be read in a single call, by using a user
* buffer large enough to hold the entire map. If read in smaller
@@ -1733,6 +1748,9 @@ static int cpuset_common_seq_show(struct seq_file *sf, void *v)
case FILE_EFFECTIVE_MEMLIST:
seq_printf(sf, "%*pbl\n", nodemask_pr_args(&cs->effective_mems));
break;
+ case FILE_ISOLCPUS:
+ cpuset_seq_print_isolcpus(sf, cs);
+ break;
default:
ret = -EINVAL;
}
@@ -1893,6 +1911,12 @@ static struct cftype files[] = {
.private = FILE_MEMORY_PRESSURE_ENABLED,
},
+ {
+ .name = "isolcpus",
+ .seq_show = cpuset_common_seq_show,
+ .private = FILE_ISOLCPUS,
+ },
+
{ } /* terminate */
};
--
2.1.0
next prev parent reply other threads:[~2015-02-25 16:38 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-25 16:38 [PATCH -v2 0/2] cpusets,isolcpus: resolve conflict between cpusets and isolcpus riel
2015-02-25 16:38 ` [PATCH 1/2] cpusets,isolcpus: exclude isolcpus from load balancing in cpusets riel
[not found] ` <1424882288-2910-2-git-send-email-riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-02-27 9:32 ` Peter Zijlstra
2015-02-27 9:32 ` Peter Zijlstra
[not found] ` <20150227093231.GG21418-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-02-27 17:08 ` [PATCH 3/2] cpusets,isolcpus: document relationship between cpusets & isolcpus Rik van Riel
2015-02-27 17:08 ` Rik van Riel
2015-02-27 21:15 ` David Rientjes
[not found] ` <20150227120803.07db15fe-XDFsmL65zczMw9PXcw3sFBL4W9x8LtSr@public.gmane.org>
2015-02-28 3:23 ` Zefan Li
2015-02-28 3:23 ` Zefan Li
2015-02-28 3:21 ` [PATCH 1/2] cpusets,isolcpus: exclude isolcpus from load balancing in cpusets Zefan Li
2015-02-28 3:21 ` Zefan Li
2015-02-25 16:38 ` riel [this message]
[not found] ` <1424882288-2910-3-git-send-email-riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-02-25 21:09 ` [PATCH 2/2] cpusets,isolcpus: add file to show isolated cpus in cpuset David Rientjes
2015-02-25 21:09 ` David Rientjes
2015-02-25 21:21 ` Rik van Riel
2015-02-25 21:32 ` [PATCH v3 " Rik van Riel
2015-02-25 21:32 ` Rik van Riel
2015-02-26 11:05 ` [PATCH " Zefan Li
2015-02-26 11:05 ` Zefan Li
2015-02-26 15:24 ` Rik van Riel
2015-02-26 17:12 ` [PATCH v4 " Rik van Riel
2015-02-26 17:12 ` Rik van Riel
[not found] ` <20150226121231.6fcba7e8-XDFsmL65zczMw9PXcw3sFBL4W9x8LtSr@public.gmane.org>
2015-02-28 3:22 ` Zefan Li
2015-02-28 3:22 ` Zefan Li
2015-03-02 6:15 ` Zefan Li
2015-03-02 6:15 ` Zefan Li
2015-03-02 9:12 ` Peter Zijlstra
2015-03-03 9:51 ` Zefan Li
2015-03-03 9:51 ` Zefan Li
2015-03-02 9:09 ` Peter Zijlstra
2015-03-02 9:09 ` Peter Zijlstra
2015-03-02 12:44 ` Mike Galbraith
[not found] ` <1425300290.5863.17.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-02 14:35 ` Rik van Riel
2015-03-02 14:35 ` Rik van Riel
[not found] ` <54F47534.7070204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-02 14:54 ` Mike Galbraith
2015-03-02 14:54 ` Mike Galbraith
2015-03-02 15:29 ` Tejun Heo
2015-03-02 15:29 ` Tejun Heo
2015-03-02 16:02 ` Mike Galbraith
[not found] ` <1425312177.12094.15.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-02 16:09 ` Tejun Heo
2015-03-02 16:09 ` Tejun Heo
[not found] ` <20150302160903.GE17694-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>
2015-03-02 17:35 ` Mike Galbraith
2015-03-02 17:35 ` Mike Galbraith
2015-03-02 17:01 ` Tejun Heo
[not found] ` <20150302170116.GJ17694-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>
2015-03-02 17:31 ` Tejun Heo
2015-03-02 17:31 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2015-02-23 21:45 [PATCH 0/2] cpusets,isolcpus: resolve conflict between cpusets and isolcpus riel
2015-02-23 21:45 ` [PATCH 2/2] cpusets,isolcpus: add file to show isolated cpus in cpuset riel
[not found] ` <1424727906-4460-3-git-send-email-riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-02-25 2:15 ` David Rientjes
2015-02-25 2:15 ` David Rientjes
[not found] ` <alpine.DEB.2.10.1502241811020.19547-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2015-02-25 3:30 ` Rik van Riel
2015-02-25 3:30 ` Rik van Riel
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=1424882288-2910-3-git-send-email-riel@redhat.com \
--to=riel@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=lcapitulino@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rientjes@google.com \
--cc=umgwanakikbuti@gmail.com \
--cc=williams@redhat.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.