powertop: add package
package for monitoring power consumption 001 and 002 patches are taken from Alpine Linux Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
This commit is contained in:
parent
0745dc5d6c
commit
3f36168651
5 changed files with 156 additions and 0 deletions
46
utils/powertop/Makefile
Normal file
46
utils/powertop/Makefile
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 Lucian Cristain <lucian.cristian@gmail.com>
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=powertop
|
||||||
|
PKG_VERSION:=2.10
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=https://01.org/sites/default/files/downloads/
|
||||||
|
PKG_HASH:=d3b7459eaba7d01c8841dd33a3b4d369416c01e9bd8951b0d88234cf18fe4a75
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
|
||||||
|
PKG_MAINTAINER:=Lucian Cristain <lucian.cristian@gmail.com>
|
||||||
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/powertop
|
||||||
|
SECTION:=utils
|
||||||
|
CATEGORY:=Utilities
|
||||||
|
DEPENDS:=+libpci +libncursesw +libnl-genl +libstdcpp
|
||||||
|
TITLE:=Power consumption monitor
|
||||||
|
URL:=https://01.org/powertop
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/powertop/description
|
||||||
|
PowerTOP is a Linux tool to diagnose issues with power consumption
|
||||||
|
and power management.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/powertop/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/powertop \
|
||||||
|
$(1)/usr/sbin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,powertop))
|
22
utils/powertop/patches/001-musl-fix-headers.patch
Normal file
22
utils/powertop/patches/001-musl-fix-headers.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
--- ./src/devices/devfreq.h.orig
|
||||||
|
+++ ./src/devices/devfreq.h
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
#ifndef _INCLUDE_GUARD_DEVFREQ_H
|
||||||
|
#define _INCLUDE_GUARD_DEVFREQ_H
|
||||||
|
|
||||||
|
+#include <sys/time.h>
|
||||||
|
#include "device.h"
|
||||||
|
#include "../parameters/parameters.h"
|
||||||
|
|
||||||
|
diff --git a/src/perf/perf.h b/src/perf/perf.h
|
||||||
|
index ee072ae06d24..932588a684f9 100644
|
||||||
|
--- a/src/perf/perf.h
|
||||||
|
+++ b/src/perf/perf.h
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
#define _INCLUDE_GUARD_PERF_H_
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
+#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
20
utils/powertop/patches/002-strerror_r.patch
Normal file
20
utils/powertop/patches/002-strerror_r.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- traceevent/event-parse.c.orig
|
||||||
|
+++ ./traceevent/event-parse.c
|
||||||
|
@@ -5121,12 +5121,17 @@
|
||||||
|
const char *msg;
|
||||||
|
|
||||||
|
if (errnum >= 0) {
|
||||||
|
+#if defined(__GLIBC__)
|
||||||
|
msg = strerror_r(errnum, buf, buflen);
|
||||||
|
if (msg != buf) {
|
||||||
|
size_t len = strlen(msg);
|
||||||
|
memcpy(buf, msg, min(buflen - 1, len));
|
||||||
|
*(buf + min(buflen - 1, len)) = '\0';
|
||||||
|
}
|
||||||
|
+#else
|
||||||
|
+ if (strerror_r(errnum, buf, buflen))
|
||||||
|
+ snprintf(buf, buflen, "errnum %i", errnum);
|
||||||
|
+#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
From 7235a786ea30ae5ca7c1b3458ef5b2388c08dfd9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rosen Penev <rosenp@gmail.com>
|
||||||
|
Date: Thu, 28 Mar 2019 18:44:27 -0700
|
||||||
|
Subject: [PATCH] src/main: Add missing pthread header
|
||||||
|
|
||||||
|
Otherwise compilation can fail with:
|
||||||
|
|
||||||
|
main.cpp: In function 'void one_measurement(int, int, char*)':
|
||||||
|
main.cpp:226:3: error: 'pthread_t' was not declared in this scope
|
||||||
|
pthread_t thread = 0UL;
|
||||||
|
^~~~~~~~~
|
||||||
|
main.cpp:226:3: note: suggested alternative: 'pread'
|
||||||
|
pthread_t thread = 0UL;
|
||||||
|
^~~~~~~~~
|
||||||
|
pread
|
||||||
|
|
||||||
|
et al.
|
||||||
|
|
||||||
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||||
|
---
|
||||||
|
src/main.cpp | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/main.cpp b/src/main.cpp
|
||||||
|
index cbb7a4e..75d4202 100644
|
||||||
|
--- a/src/main.cpp
|
||||||
|
+++ b/src/main.cpp
|
||||||
|
@@ -39,6 +39,7 @@
|
||||||
|
#include <locale.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <limits.h>
|
||||||
|
+#include <pthread.h>
|
||||||
|
|
||||||
|
#include "cpu/cpu.h"
|
||||||
|
#include "process/process.h"
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
From 8cdf846922ffb3e0d2a828be473fdf9c45a56e7c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rosen Penev <rosenp@gmail.com>
|
||||||
|
Date: Sat, 30 Mar 2019 20:19:17 -0700
|
||||||
|
Subject: [PATCH] intel_cpus.cpp: Change open parameter to const char *
|
||||||
|
|
||||||
|
ifstream::open takes std::string starting with C++11, not before.
|
||||||
|
|
||||||
|
This fixes compilation with uClibc++ and potentially other older libraries
|
||||||
|
|
||||||
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||||
|
---
|
||||||
|
src/cpu/intel_cpus.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/cpu/intel_cpus.cpp b/src/cpu/intel_cpus.cpp
|
||||||
|
index 0030dba..4dffadc 100644
|
||||||
|
--- a/src/cpu/intel_cpus.cpp
|
||||||
|
+++ b/src/cpu/intel_cpus.cpp
|
||||||
|
@@ -92,7 +92,7 @@ int is_supported_intel_cpu(int model, int cpu)
|
||||||
|
|
||||||
|
int is_intel_pstate_driver_loaded()
|
||||||
|
{
|
||||||
|
- const string filename("/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver");
|
||||||
|
+ const char *filename = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver";
|
||||||
|
const string intel_pstate("intel_pstate");
|
||||||
|
char line[32] = { '\0' };
|
||||||
|
ifstream file;
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
Loading…
Reference in a new issue