diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-07-17 15:20:48 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-07-17 15:20:48 -0400 |
commit | 3c28b88ea87b91ce317a939376ae932e78259803 (patch) | |
tree | 815b5ea89339d769ffb07ecbf8a5e4874644abdd /testsuite/systemtap.examples/process/chng_cpu.stp | |
parent | 003ea323310bd597c7263344cefd232377d8d89e (diff) | |
parent | deb635455c042a10cc74a45c9ef02458d890946f (diff) | |
download | systemtap-steved-3c28b88ea87b91ce317a939376ae932e78259803.tar.gz systemtap-steved-3c28b88ea87b91ce317a939376ae932e78259803.tar.xz systemtap-steved-3c28b88ea87b91ce317a939376ae932e78259803.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
* 'master' of ssh://sources.redhat.com/git/systemtap:
Add chng_cpu.stp and migrate.stp examples.
Add network/tcpipstat.stp descriptions.
Diffstat (limited to 'testsuite/systemtap.examples/process/chng_cpu.stp')
-rwxr-xr-x | testsuite/systemtap.examples/process/chng_cpu.stp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/process/chng_cpu.stp b/testsuite/systemtap.examples/process/chng_cpu.stp new file mode 100755 index 00000000..5617ec03 --- /dev/null +++ b/testsuite/systemtap.examples/process/chng_cpu.stp @@ -0,0 +1,31 @@ +#! /usr/bin/env stap +/* Filename: chng_cpu.stp + * Author: Ankita Garg <ankita@in.ibm.com> + * Description: Captures information on the number of times an executable + * switches cpu + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Copyright (C) IBM Corp. 2009. All Rights Reserved. + * + */ + +global threads + +probe scheduler.cpu_on +{ + if ((threads[tid()] != cpu() && (execname() == @1))) { + printf("\nthread %d (%s) context switched on cpu%d state: %d\n", + tid(), execname(), cpu(), task_state(task_current())); + print_stack(backtrace()); + threads[tid()] = cpu(); + } +} |