Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ What can psst do?
__PSST__ is a userspace controlled power virus for cpu and other soc-sub components such as gpu & memory.
Presently only cpu is supported. The intent is to subject the SoC at different run-time-varying utilization levels for analysis.
This is done by controlled duty-cycling of utilization to specific contour.
A simplest contour could be fixed low utilzation. This allows simple usage such as logging of system parameters at fixed low overhead even at small polling intervals (ms).
A simplest contour could be fixed low utilization. This allows simple usage such as logging of system parameters at fixed low overhead even at small polling intervals (ms).
More complex usages, such as study of governors, workloads e.t.c., are possible by applying different power shape contours.

Dependencies
Expand Down Expand Up @@ -62,7 +62,8 @@ Sample output with verbose mode
_Note:_ Sometimes system study involves clamping values or disabling features that influence result parameters.
Typically this involves frequency influencing features such as cpu-freq governors or other such features.
Clamping frequency is not intended part of this tool. Such requirement are best handled on per-platform using
sysfs or appropriate interface. However, it may be a good idea to kill Xwindows and run in console mode, if background tasks are treated as irrelavant utilization noise in your analysis.
sysfs or appropriate interface. However, it may be a good idea to kill Xwindows and run in console mode, if background
tasks are treated as irrelevant utilization noise in your analysis.

Plotting and analysis
=====================
Expand Down
6 changes: 3 additions & 3 deletions src/logger.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,14 +353,14 @@ void initialize_logger(void)
if (get_node_name("/dev/cpu/0", "msr", NULL) < 0) {
col_desc[i].report_enabled = 0;
}
continue; /* No file descritor required */
continue; /* No file descriptor required */
case MAX_FREQ_CPU:
if (get_node_name("/dev/cpu/0", "msr", NULL) < 0)
col_desc[i].report_enabled = 0;
continue; /* No file descritor required */
continue; /* No file descriptor required */
case TIME_STAMP_MS:
case LOAD_REQUEST:
continue; /* No file descritor required */
continue; /* No file descriptor required */
case PKG0_POWER_RAPL:
if (find_path(BASE_PATH_RAPL, "name", "package-0",
"energy_uj", path)) {
Expand Down
2 changes: 1 addition & 1 deletion src/psst.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ static void work_fn(void *data)
ps.begin.tv_sec = 0;

/*
* if this thread is launched for non-cpu work (e,g gpu work requestor)
* if this thread is launched for non-cpu work (e,g gpu work requester)
* let it run like any normal thread in system
*/
if (CPU_ISSET(pr, &configpv.cpumask)) {
Expand Down