From 7cf45544e563941eb977d3744a116bbde2085d10 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@uni-potsdam.de>
Date: Tue, 7 Jan 2025 12:35:57 +0100
Subject: [PATCH] common: Enable access to perf events for EAR

---
 roles/common/files/sysctl/95-perf.conf |  1 +
 roles/common/tasks/main.yml            |  3 +++
 roles/common/tasks/perf.yml            | 17 +++++++++++++++++
 3 files changed, 21 insertions(+)
 create mode 100644 roles/common/files/sysctl/95-perf.conf
 create mode 100644 roles/common/tasks/perf.yml

diff --git a/roles/common/files/sysctl/95-perf.conf b/roles/common/files/sysctl/95-perf.conf
new file mode 100644
index 0000000..7c0c3c1
--- /dev/null
+++ b/roles/common/files/sysctl/95-perf.conf
@@ -0,0 +1 @@
+kernel.perf_event_paranoid = 2
diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml
index 860399b..99fbade 100644
--- a/roles/common/tasks/main.yml
+++ b/roles/common/tasks/main.yml
@@ -10,6 +10,9 @@
 - name: Setup intel_pstate
   ansible.builtin.include_tasks: intel-pstate.yml
 
+- name: Setup perf
+  ansible.builtin.include_tasks: perf.yml
+
 - name: Setup munge
   ansible.builtin.include_tasks: munge.yml
 
diff --git a/roles/common/tasks/perf.yml b/roles/common/tasks/perf.yml
new file mode 100644
index 0000000..15d00d0
--- /dev/null
+++ b/roles/common/tasks/perf.yml
@@ -0,0 +1,17 @@
+- name: Create /etc/sysctl.d
+  ansible.builtin.file:
+    path: /etc/sysctl.d
+    owner: root
+    group: root
+    state: directory
+    mode: '0755'
+  become: true
+
+- name: Install /etc/sysctl.d/95-perf.conf
+  ansible.builtin.copy:
+    src: sysctl/95-perf.conf
+    dest: /etc/sysctl.d/95-perf.conf
+    owner: root
+    group: root
+    mode: '0644'
+  become: true
-- 
GitLab