Introduce ability to set powertop refresh timeout via `-s` switch.
Currently, measurement timeout is allowed to be within [1,32] secs
range.
Signed-off-by: Sergey Senozhatsky <[email protected]>
---
main.cpp | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)
diff --git a/main.cpp b/main.cpp
index afc124b..77e6d05 100644
--- a/main.cpp
+++ b/main.cpp
@@ -60,7 +60,7 @@
#define DEBUGFS_MAGIC 0x64626720
int debug_learning = 0;
-
+unsigned time_out = 20;
int leave_powertop = 0;
static const struct option long_options[] =
@@ -83,6 +83,20 @@ static void print_version()
printf(_("Powertop version" POWERTOP_VERSION ", compiled on "__DATE__
"\n"));
}
+static bool set_refresh_timeout()
+{
+ static char buf[4];
+ mvprintw(1, 0, "%s (currently %u): ", _("Set refresh time out"),
time_out);
+ memset(buf, '\0', sizeof(buf));
+ get_user_input(buf, sizeof(buf) - 1);
+ show_tab(0);
+ unsigned time = strtoul(buf, NULL, 0);
+ if (!time) return 0;
+ if (time > 32) time = 32;
+ time_out = time;
+ return 1;
+}
+
static void print_usage()
{
printf(_("Usage: powertop [OPTIONS]\n\n"));
@@ -136,6 +150,10 @@ static void do_sleep(int seconds)
case 10:
cursor_enter();
break;
+ case 's':
+ if (set_refresh_timeout())
+ return;
+ break;
case 'r':
window_refresh();
return;
@@ -259,7 +277,6 @@ int main(int argc, char **argv)
int c;
bool wantreport = FALSE;
char filename[4096];;
- int timetotest = 20;
int iterations = 1;
struct statfs st_fs;
@@ -349,7 +366,7 @@ int main(int argc, char **argv)
break;
case 't':
- timetotest = (optarg ? atoi(optarg) : 20);
+ time_out = (optarg ? atoi(optarg) : 20);
break;
case 'i':
@@ -368,7 +385,7 @@ int main(int argc, char **argv)
}
if (wantreport)
- report(timetotest, iterations, filename);
+ report(time_out, iterations, filename);
if (debug_learning)
printf("Learning debugging enabled\n");
@@ -397,7 +414,7 @@ int main(int argc, char **argv)
while (!leave_powertop) {
- one_measurement(timetotest);
+ one_measurement(time_out);
show_cur_tab();
learn_parameters(15, 0);
}
_______________________________________________
Power mailing list
[email protected]
https://bughost.org/mailman/listinfo/power