From: Thomas Gleixner <tglx@linutronix.de>
To: Marcelo Tosatti <mtosatti@redhat.com>, linux-kernel@vger.kernel.org
Cc: Nitesh Lal <nilal@redhat.com>,
Nicolas Saenz Julienne <nsaenzju@redhat.com>,
Frederic Weisbecker <frederic@kernel.org>,
Christoph Lameter <cl@linux.com>,
Juri Lelli <juri.lelli@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Alex Belits <abelits@belits.com>, Peter Xu <peterx@redhat.com>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Oscar Shiang <oscar0225@livemail.tw>
Subject: Re: [patch v12 06/13] procfs: add per-pid task isolation state
Date: Tue, 26 Apr 2022 01:27:32 +0200 [thread overview]
Message-ID: <87v8uwzqu3.ffs@tglx> (raw)
In-Reply-To: <20220315153313.997111717@fedora.localdomain>
On Tue, Mar 15 2022 at 12:31, Marcelo Tosatti wrote:
> Add /proc/pid/task_isolation file, to query the state of
> task isolation configuration.
>
> ---
Lacks a Signed-off-by...
> fs/proc/base.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +#ifdef CONFIG_TASK_ISOLATION
> +
> +struct qoptions {
> + unsigned long mask;
> + char *name;
> +};
> +
> +static struct qoptions iopts[] = {
> + {ISOL_F_QUIESCE, "quiesce"},
> +};
> +#define ILEN (sizeof(iopts) / sizeof(struct qoptions))
Reinventing ARRAY_SIZE() just because this isolation muck is special?
> +static struct qoptions qopts[] = {
> + {ISOL_F_QUIESCE_VMSTATS, "vmstat_sync"},
> +};
> +#define QLEN (sizeof(qopts) / sizeof(struct qoptions))
Ditto.
> +static void show_isolation_state(struct seq_file *m,
> + struct qoptions *iopt,
> + int mask,
> + const char *hdr)
> +{
> + int i;
> +
> + seq_printf(m, hdr);
> + for (i = 0; i < ILEN; i++) {
> + if (mask & iopt->mask)
> + seq_printf(m, "%s ", iopt->name);
> + iopt++;
> + }
> + if (mask == 0)
> + seq_printf(m, "none ");
> + seq_printf(m, "\n");
> +}
> +
> +int proc_pid_task_isolation(struct seq_file *m, struct pid_namespace *ns,
> + struct pid *pid, struct task_struct *t)
This is required to be global without a prototype because?
> +{
> + int active_mask, quiesce_mask, conf_mask;
> + struct task_isol_info *task_isol_info;
> + struct inode *inode = m->private;
> + struct task_struct *task = get_proc_task(inode);
> +
> + task_isol_info = t->task_isol_info;
> + if (!task_isol_info)
> + active_mask = quiesce_mask = conf_mask = 0;
> + else {
> + active_mask = task_isol_info->active_mask;
> + quiesce_mask = task_isol_info->quiesce_mask;
> + conf_mask = task_isol_info->conf_mask;
> + }
> +
> + show_isolation_state(m, iopts, conf_mask, "Configured state: ");
> + show_isolation_state(m, iopts, active_mask, "Active state: ");
> + show_isolation_state(m, qopts, quiesce_mask, "Quiescing: ");
And once you have 10 features with 10 subfeature masks supported, all of
this ends up in fs/proc/base.c just because all of this nonsense is
required to be disconnected from the actual task isolation code, right?
Just because a lot of crap has been dumped over time into that file does
not justify to mindlessly dump more crap into it.
Thanks,
tglx
next prev parent reply other threads:[~2022-04-25 23:27 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-15 15:31 [patch v12 00/13] extensible prctl task isolation interface and vmstat sync Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 01/13] s390: add support for TIF_TASK_ISOL Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 02/13] x86: " Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 03/13] add basic task isolation prctl interface Marcelo Tosatti
2022-04-25 22:23 ` Thomas Gleixner
2022-03-15 15:31 ` [patch v12 04/13] add prctl task isolation prctl docs and samples Marcelo Tosatti
2022-04-26 0:15 ` Thomas Gleixner
2022-03-15 15:31 ` [patch v12 05/13] task isolation: sync vmstats on return to userspace Marcelo Tosatti
2022-04-25 23:06 ` Thomas Gleixner
2022-04-27 6:56 ` Thomas Gleixner
2022-03-15 15:31 ` [patch v12 06/13] procfs: add per-pid task isolation state Marcelo Tosatti
2022-04-25 23:27 ` Thomas Gleixner [this message]
2022-03-15 15:31 ` [patch v12 07/13] task isolation: sync vmstats conditional on changes Marcelo Tosatti
2022-03-17 14:51 ` Frederic Weisbecker
2022-04-27 8:03 ` Thomas Gleixner
2022-03-15 15:31 ` [patch v12 08/13] task isolation: enable return to userspace processing Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 09/13] task isolation: add preempt notifier to sync per-CPU vmstat dirty info to thread info Marcelo Tosatti
2022-03-16 2:41 ` Oscar Shiang
2022-04-27 7:11 ` Thomas Gleixner
2022-04-27 12:09 ` Thomas Gleixner
2022-05-04 16:32 ` Marcelo Tosatti
2022-05-04 17:39 ` Thomas Gleixner
2022-03-15 15:31 ` [patch v12 10/13] KVM: x86: process isolation work from VM-entry code path Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 11/13] mm: vmstat: move need_update Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 12/13] mm: vmstat_refresh: avoid queueing work item if cpu stats are clean Marcelo Tosatti
2022-04-27 7:23 ` Thomas Gleixner
2022-05-03 19:17 ` Marcelo Tosatti
2022-03-15 15:31 ` [patch v12 13/13] task isolation: only TIF_TASK_ISOL if task isolation is enabled Marcelo Tosatti
2022-04-27 7:45 ` Thomas Gleixner
2022-05-03 19:12 ` Marcelo Tosatti
2022-05-04 13:03 ` Thomas Gleixner
2022-03-17 15:08 ` [patch v12 00/13] extensible prctl task isolation interface and vmstat sync Frederic Weisbecker
2022-04-25 16:29 ` Marcelo Tosatti
2022-04-25 21:12 ` Thomas Gleixner
2022-05-03 18:57 ` Marcelo Tosatti
2022-04-27 9:19 ` Christoph Lameter
2022-05-03 18:57 ` Marcelo Tosatti
2022-05-04 13:20 ` Thomas Gleixner
2022-05-04 18:56 ` Marcelo Tosatti
2022-05-04 20:15 ` Thomas Gleixner
2022-05-05 16:52 ` Marcelo Tosatti
2022-06-01 16:14 ` Marcelo Tosatti
2022-05-04 17:01 ` Tim Chen
2022-05-04 20:08 ` Marcelo Tosatti
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=87v8uwzqu3.ffs@tglx \
--to=tglx@linutronix.de \
--cc=abelits@belits.com \
--cc=bristot@redhat.com \
--cc=cl@linux.com \
--cc=frederic@kernel.org \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=nilal@redhat.com \
--cc=nsaenzju@redhat.com \
--cc=oscar0225@livemail.tw \
--cc=peterx@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.