Jin Yao
2010-06-17 06:29:48 UTC
I write 2 dtrace scripts in order to measure "clk" and "rma" for sytem workload
on nhm-ex (32 cores) when specjbb2005 runs.
***@shz-OS:~# ./test_clk_rma.d
......................
clk
309547
rma
32
kcpc_int
309579
......................
clk
309931
rma
57
kcpc_int
309985
......................
clk
310158
rma
25
kcpc_int
310183
^C
***@shz-OS:~# ./test_rma.d
............
rma
1531
kcpc_int
1531
............
rma
1645
kcpc_int
1645
............
rma
1537
kcpc_int
1537
I find the "rma" in test_clk_rma.d output is smaller than the "rma"
from test_rma.d. I guess some overflow interrupts lost when the dtrace
script test_clk_rma.d runs. But if it's true, why most of time are in
user space not in system space (from the output of vmstat and mpstat)?
The script sources are bellow and I also changed the setting to
"dcpc-min-overflow=100;" in "/kernel/drv/dcpc.conf" before tests.
***@shz-OS:~# cat test_clk_rma.d
#!/usr/sbin/dtrace -s
#pragma D option quiet
cpc:::cpu_clk_unhalted.ref-all-1000000
{
@clk = count();
}
cpc:::mem_uncore_retired.remote_dram-all-100
{
@rma = count();
}
kcpc_hw_overflow_intr:entry
{
@kcpc_int = count();
}
tick-5s
{
printf("......................\n");
printf("clk");
printa(@clk);
trunc(@clk);
printf("rma");
printa(@rma);
trunc(@rma);
printf("kcpc_int");
printa(@kcpc_int);
trunc(@kcpc_int);
}
***@shz-OS:~# cat test_rma.d
#!/usr/sbin/dtrace -s
#pragma D option quiet
cpc:::mem_uncore_retired.remote_dram-all-100
{
@rma = count();
}
kcpc_hw_overflow_intr:entry
{
@kcpc_int = count();
}
tick-5s
{
printf("............\n");
printf("rma");
printa(@rma);
trunc(@rma);
printf("kcpc_int");
printa(@kcpc_int);
trunc(@kcpc_int);
}
Can anybody give me some suggestions?
Thanks
Jin Yao
on nhm-ex (32 cores) when specjbb2005 runs.
***@shz-OS:~# ./test_clk_rma.d
......................
clk
309547
rma
32
kcpc_int
309579
......................
clk
309931
rma
57
kcpc_int
309985
......................
clk
310158
rma
25
kcpc_int
310183
^C
***@shz-OS:~# ./test_rma.d
............
rma
1531
kcpc_int
1531
............
rma
1645
kcpc_int
1645
............
rma
1537
kcpc_int
1537
I find the "rma" in test_clk_rma.d output is smaller than the "rma"
from test_rma.d. I guess some overflow interrupts lost when the dtrace
script test_clk_rma.d runs. But if it's true, why most of time are in
user space not in system space (from the output of vmstat and mpstat)?
The script sources are bellow and I also changed the setting to
"dcpc-min-overflow=100;" in "/kernel/drv/dcpc.conf" before tests.
***@shz-OS:~# cat test_clk_rma.d
#!/usr/sbin/dtrace -s
#pragma D option quiet
cpc:::cpu_clk_unhalted.ref-all-1000000
{
@clk = count();
}
cpc:::mem_uncore_retired.remote_dram-all-100
{
@rma = count();
}
kcpc_hw_overflow_intr:entry
{
@kcpc_int = count();
}
tick-5s
{
printf("......................\n");
printf("clk");
printa(@clk);
trunc(@clk);
printf("rma");
printa(@rma);
trunc(@rma);
printf("kcpc_int");
printa(@kcpc_int);
trunc(@kcpc_int);
}
***@shz-OS:~# cat test_rma.d
#!/usr/sbin/dtrace -s
#pragma D option quiet
cpc:::mem_uncore_retired.remote_dram-all-100
{
@rma = count();
}
kcpc_hw_overflow_intr:entry
{
@kcpc_int = count();
}
tick-5s
{
printf("............\n");
printf("rma");
printa(@rma);
trunc(@rma);
printf("kcpc_int");
printa(@kcpc_int);
trunc(@kcpc_int);
}
Can anybody give me some suggestions?
Thanks
Jin Yao
--
This message posted from opensolaris.org
This message posted from opensolaris.org