From: "Martin J. Bligh" <mbligh@aracnet.com>
To: jw schultz <jw@pegasys.ws>, LKML <linux-kernel@vger.kernel.org>
Subject: ps performance sucks (was Re: dcache_rcu [performance results])
Date: Mon, 04 Nov 2002 17:14:19 -0800 [thread overview]
Message-ID: <1118170000.1036458859@flay> (raw)
In-Reply-To: <20021105000010.GA21914@pegasys.ws>
> Clearly ps could do with a cleanup. There is no reason to
> read environ if it wasn't asked for. Deciding which files
> are needed based on the command line options would be a
> start.
>
> I'm thinking that ps, top and company are good reasons to
> make an exception of one value per file in proc. Clearly
> open+read+close of 3-5 "files" each extracting data from
> task_struct isn't more efficient than one "file" that
> generates the needed data one field per line.
I think it's pretty trivial to make /proc/<pid>/psinfo, which
dumps the garbage from all five files in one place. Which makes
it 5 times better, but it still sucks.
> Don't get me wrong. I believe in the one field per file
> rule but ps &co are the exception that proves (tests) the
> rule. Especially on the heavily laden systems with
> tens of thousands of tasks. We could do with a something
> between /dev/kmem and five files per pid.
I had a very brief think about this at the weekend, seeing
if I could make a big melting pot /proc/psinfo file that did
seqfile and read everything out in one go, using seq_file
internally to interate over the tasklist. The most obvious
problem that sprung to mind seems to be the tasklist locking -
you obviously can't just hold a lock over the whole thing.
As I know very little about that, I'll let someone else suggest
how to do this, but I'm prepared to do the grunt work of implementing
it if need be.
M.
next prev parent reply other threads:[~2002-11-05 1:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-30 10:49 [PATCH 2.5.44] dcache_rcu Maneesh Soni
2002-10-31 10:53 ` dcache_rcu [performance results] Dipankar Sarma
2002-11-02 1:36 ` Andrew Morton
2002-11-02 9:13 ` Dipankar Sarma
2002-11-04 17:29 ` Martin J. Bligh
2002-11-05 0:00 ` jw schultz
2002-11-05 1:14 ` Martin J. Bligh [this message]
2002-11-05 3:57 ` ps performance sucks (was Re: dcache_rcu [performance results]) Werner Almesberger
2002-11-05 4:42 ` Erik Andersen
2002-11-05 5:44 ` Martin J. Bligh
2002-11-05 5:59 ` Alexander Viro
2002-11-05 6:05 ` Martin J. Bligh
2002-11-05 6:15 ` Robert Love
2002-11-05 6:13 ` Erik Andersen
2002-11-05 6:14 ` Werner Almesberger
2002-11-05 4:26 ` jw schultz
2002-11-05 5:51 ` Martin J. Bligh
2002-11-05 19:57 ` Kai Henningsen
2002-11-05 21:33 ` Erik Andersen
2002-11-05 22:09 ` Karim Yaghmour
[not found] <993103655@toto.iv>
2002-11-05 22:49 ` Peter Chubb
2002-11-06 0:06 ` Martin J. Bligh
2002-11-05 23:16 ` bert hubert
2002-11-06 0:57 ` Martin J. Bligh
2002-11-06 0:10 ` bert hubert
2002-11-06 1:23 ` Martin J. Bligh
2002-11-06 0:34 ` Alexander Viro
2002-11-07 12:06 ` Rusty Russell
2002-11-08 3:57 ` William Lee Irwin III
2002-11-08 4:17 ` Robert Love
2002-11-08 4:27 ` Daniel Jacobowitz
2002-11-08 4:29 ` William Lee Irwin III
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=1118170000.1036458859@flay \
--to=mbligh@aracnet.com \
--cc=jw@pegasys.ws \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox