public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/collectd/, app-admin/collectd/files/
Date: Sat, 30 Sep 2017 15:15:46 +0000 (UTC)	[thread overview]
Message-ID: <1506784531.2fe0d1872cde13f04c9edcfd900415e788e4e960.whissi@gentoo> (raw)

commit:     2fe0d1872cde13f04c9edcfd900415e788e4e960
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 14:32:02 2017 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 15:15:31 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fe0d187

app-admin/collectd: Fix turbostat plugin build issue with >=linux-4.12

Package-Manager: Portage-2.3.10, Repoman-2.3.3

 app-admin/collectd/collectd-5.7.2.ebuild           |   1 +
 .../collectd/files/collectd-5.7.2-issue-2443.patch | 160 +++++++++++++++++++++
 2 files changed, 161 insertions(+)

diff --git a/app-admin/collectd/collectd-5.7.2.ebuild b/app-admin/collectd/collectd-5.7.2.ebuild
index f062bc9c363..199a7948bb2 100644
--- a/app-admin/collectd/collectd-5.7.2.ebuild
+++ b/app-admin/collectd/collectd-5.7.2.ebuild
@@ -156,6 +156,7 @@ REQUIRED_USE="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-5.6.0-gentoo.patch
+	"${FILESDIR}"/${PN}-5.7.2-issue-2443.patch
 )
 
 # @FUNCTION: collectd_plugin_kernel_linux

diff --git a/app-admin/collectd/files/collectd-5.7.2-issue-2443.patch b/app-admin/collectd/files/collectd-5.7.2-issue-2443.patch
new file mode 100644
index 00000000000..19410c139b0
--- /dev/null
+++ b/app-admin/collectd/files/collectd-5.7.2-issue-2443.patch
@@ -0,0 +1,160 @@
+turbostat: import msr-index header from linux to allow building against
+    >=linux-4.12
+
+Backport of https://github.com/collectd/collectd/pull/2446
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -805,28 +805,6 @@ AC_CACHE_CHECK([whether clock_boottime and clock_monotonic are supported],
+ 
+ 
+ # For the turbostat plugin
+-have_asm_msrindex_h="no"
+-AC_CHECK_HEADERS(asm/msr-index.h, [have_asm_msrindex_h="yes"])
+-
+-if test "x$have_asm_msrindex_h" = "xyes"
+-then
+-  AC_CACHE_CHECK([whether asm/msr-index.h has MSR_PKG_C10_RESIDENCY],
+-                 [c_cv_have_usable_asm_msrindex_h],
+-                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+-[[[
+-#include<asm/msr-index.h>
+-]]],
+-[[[
+-int y = MSR_PKG_C10_RESIDENCY;
+-return(y);
+-]]]
+-  )],
+-                 [c_cv_have_usable_asm_msrindex_h="yes"],
+-                 [c_cv_have_usable_asm_msrindex_h="no"],
+-                                  )
+-                 )
+-fi
+-
+ have_cpuid_h="no"
+ AC_CHECK_HEADERS(cpuid.h, [have_cpuid_h="yes"])
+ 
+@@ -6108,7 +6086,7 @@ then
+ 	then
+ 		plugin_ipvs="yes"
+ 	fi
+-	if test "x$c_cv_have_usable_asm_msrindex_h" = "xyes" && test "x$have_cpuid_h" = "xyes"
++	if test "x$have_cpuid_h" = "xyes"
+ 	then
+ 		plugin_turbostat="yes"
+ 	fi
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1212,7 +1212,9 @@ endif
+ 
+ if BUILD_PLUGIN_TURBOSTAT
+ pkglib_LTLIBRARIES += turbostat.la
+-turbostat_la_SOURCES = turbostat.c
++turbostat_la_SOURCES = \
++	turbostat.c \
++	msr-index.h
+ turbostat_la_LDFLAGS = $(PLUGIN_LDFLAGS)
+ endif
+ 
+--- /dev/null
++++ b/src/msr-index.h
+@@ -0,0 +1,88 @@
++/*
++ * Partial header file imported from the linux kernel
++ * (arch/x86/include/asm/msr-index.h)
++ * as it is not provided by the kernel sources anymore
++ *
++ * Only the minimal blocks of macro have been included
++ * ----
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms and conditions of the GNU General Public License,
++ * version 2, as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
++ * ----
++ */
++
++#ifndef _ASM_X86_MSR_INDEX_H
++#define _ASM_X86_MSR_INDEX_H
++
++/*
++ * CPU model specific register (MSR) numbers.
++ *
++ * Do not add new entries to this file unless the definitions are shared
++ * between multiple compilation units.
++ */
++
++/* Intel MSRs. Some also available on other CPUs */
++
++/* C-state Residency Counters */
++#define MSR_PKG_C3_RESIDENCY		0x000003f8
++#define MSR_PKG_C6_RESIDENCY		0x000003f9
++#define MSR_ATOM_PKG_C6_RESIDENCY	0x000003fa
++#define MSR_PKG_C7_RESIDENCY		0x000003fa
++#define MSR_CORE_C3_RESIDENCY		0x000003fc
++#define MSR_CORE_C6_RESIDENCY		0x000003fd
++#define MSR_CORE_C7_RESIDENCY		0x000003fe
++#define MSR_KNL_CORE_C6_RESIDENCY	0x000003ff
++#define MSR_PKG_C2_RESIDENCY		0x0000060d
++#define MSR_PKG_C8_RESIDENCY		0x00000630
++#define MSR_PKG_C9_RESIDENCY		0x00000631
++#define MSR_PKG_C10_RESIDENCY		0x00000632
++
++/* Run Time Average Power Limiting (RAPL) Interface */
++
++#define MSR_RAPL_POWER_UNIT		0x00000606
++
++#define MSR_PKG_POWER_LIMIT		0x00000610
++#define MSR_PKG_ENERGY_STATUS		0x00000611
++#define MSR_PKG_PERF_STATUS		0x00000613
++#define MSR_PKG_POWER_INFO		0x00000614
++
++#define MSR_DRAM_POWER_LIMIT		0x00000618
++#define MSR_DRAM_ENERGY_STATUS		0x00000619
++#define MSR_DRAM_PERF_STATUS		0x0000061b
++#define MSR_DRAM_POWER_INFO		0x0000061c
++
++#define MSR_PP0_POWER_LIMIT		0x00000638
++#define MSR_PP0_ENERGY_STATUS		0x00000639
++#define MSR_PP0_POLICY			0x0000063a
++#define MSR_PP0_PERF_STATUS		0x0000063b
++
++#define MSR_PP1_POWER_LIMIT		0x00000640
++#define MSR_PP1_ENERGY_STATUS		0x00000641
++#define MSR_PP1_POLICY			0x00000642
++
++
++
++/* Intel defined MSRs. */
++#define MSR_IA32_TSC			0x00000010
++#define MSR_SMI_COUNT			0x00000034
++
++#define MSR_IA32_MPERF			0x000000e7
++#define MSR_IA32_APERF			0x000000e8
++
++#define MSR_IA32_THERM_STATUS		0x0000019c
++
++#define MSR_IA32_TEMPERATURE_TARGET	0x000001a2
++
++#define MSR_IA32_PACKAGE_THERM_STATUS		0x000001b1
++
++
++#endif /* _ASM_X86_MSR_INDEX_H */
+--- a/src/turbostat.c
++++ b/src/turbostat.c
+@@ -41,7 +41,7 @@
+ #include "plugin.h"
+ #include "utils_time.h"
+ 
+-#include <asm/msr-index.h>
++#include "msr-index.h"
+ #include <cpuid.h>
+ #ifdef HAVE_SYS_CAPABILITY_H
+ #include <sys/capability.h>


             reply	other threads:[~2017-09-30 15:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-30 15:15 Thomas Deutschmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-01-25 22:34 [gentoo-commits] repo/gentoo:master commit in: app-admin/collectd/, app-admin/collectd/files/ Thomas Deutschmann
2017-06-01 18:49 Thomas Deutschmann
2017-04-06 15:50 Thomas Deutschmann
2016-08-11 16:33 Thomas Deutschmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1506784531.2fe0d1872cde13f04c9edcfd900415e788e4e960.whissi@gentoo \
    --to=whissi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox