All of lore.kernel.org
 help / color / mirror / Atom feed
From: kaih@khms.westfalen.de (Kai Henningsen)
To: linux-kernel@vger.kernel.org
Subject: Re: ps performance sucks (was Re: dcache_rcu [performance results])
Date: 05 Nov 2002 21:57:00 +0200	[thread overview]
Message-ID: <8$GqvaL1w-B@khms.westfalen.de> (raw)
In-Reply-To: <1118170000.1036458859@flay>

mbligh@aracnet.com (Martin J. Bligh)  wrote on 04.11.02 in <1118170000.1036458859@flay>:

> 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.

Well, one thing i to make certain you can actually do it with one or two  
system calls. Say, one system call to figure out how big a buffer is  
necessary (essentially, #tasks*size), then one read with a suitably-sized  
buffer. Then have a loop in the kernel that drops the lock as often as  
necessary, and otherwise puts it all in the buffer in one go. (If the  
#tasks grows too fast so it overruns the buffer even with some slack given  
in advance, tough, have a useful return code to indicate that and let ps  
retry.)

I briefly thought about mmap, but I don't think that actually buys  
anything.

MfG Kai

  parent reply	other threads:[~2002-11-05 21:03 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           ` ps performance sucks (was Re: dcache_rcu [performance results]) Martin J. Bligh
2002-11-05  3:57             ` 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 [this message]
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='8$GqvaL1w-B@khms.westfalen.de' \
    --to=kaih@khms.westfalen.de \
    --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 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.