<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Bart Van Assche wrote:
<blockquote
 cite="mid:e2e108260810070233q7dbcd377p16b094ea5a6b74a7@mail.gmail.com"
 type="cite">
  <pre wrap="">On Mon, Oct 6, 2008 at 5:31 PM, Cameron Harr <a class="moz-txt-link-rfc2396E" href="mailto:cameron@harr.org"><cameron@harr.org></a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Thanks for the suggestion. As I look via vmstat, my CSw/s rate is fairly
constant around 280K when scst_threads=1 (per Vu's suggestion) and pops up
to ~330-340K CSw/s when scst_threads is set to 8.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Which threads are causing all those context switches ? You can find
this out by making sure that CONFIG_SCHEDSTATS=y is enabled in the
kernel .config and by running the following bash command:

( cd /proc && for p in [1-9]* ; do echo "$(<${p}/cmdline)
$(<${p}/schedstat)" ; done ) | sort -rn -k 3 | head


  </pre>
</blockquote>
Thanks for the bash lesson :). It wasn't working how I think you had
planned because many processes have nothing in the cmdline file. So, I
touched up the command a bit, putting in the pid and displaying the
cmdline at the end so as not to mess up the sort:<br>
( cd /proc && for p in [1-9]* ; do echo -e "$p:\t
$(<${p}/schedstat) \t\t$(<${p}/cmdline)" ; done ) | sort -rn -k 3
| head<br>
<br>
Using that, and watching who's moving up in amount of time waiting, the
main culprits are all of the scst_threads when scst_threads=8, and when
threads=2, the culprit is srpt_thread.<br>
<br>
-Cameron<br>
</body>
</html>