diff options
author | William Cohen <wcohen@redhat.com> | 2009-07-17 15:18:51 -0400 |
---|---|---|
committer | William Cohen <wcohen@redhat.com> | 2009-07-17 15:18:51 -0400 |
commit | deb635455c042a10cc74a45c9ef02458d890946f (patch) | |
tree | 576daa83bb6c72a98e1130965b156d4f6cc4d2a8 /testsuite/systemtap.examples/process/chng_cpu.stp | |
parent | 4bb6522cf62ade81ebdf578d187c93e5880e18be (diff) | |
download | systemtap-steved-deb635455c042a10cc74a45c9ef02458d890946f.tar.gz systemtap-steved-deb635455c042a10cc74a45c9ef02458d890946f.tar.xz systemtap-steved-deb635455c042a10cc74a45c9ef02458d890946f.zip |
Add chng_cpu.stp and migrate.stp examples.
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(); + } +} |