lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4F9A4DA6.8060507@linux.vnet.ibm.com>
Date:	Fri, 27 Apr 2012 15:41:26 +0800
From:	Michael Wang <wangyun@...ux.vnet.ibm.com>
To:	LKML <linux-kernel@...r.kernel.org>
CC:	Paul Turner <pjt@...gle.com>, Dhaval Giani <dhaval.giani@...il.com>
Subject: [PATCH 2/2] linsched: add the ability to read proc setting from proc.conf

From: Michael Wang <wangyun@...ux.vnet.ibm.com>

This patch add the ability to read proc setting from: 
tools/linsched/tests/proc.conf

The style in the proc.conf is like: 
proname value

Signed-off-by: Michael Wang <wangyun@...ux.vnet.ibm.com>
---
 tools/linsched/linux_linsched.c |   30 ++++++++++++++++++++++++++++++
 tools/linsched/tests/proc.conf  |    5 +++++
 2 files changed, 35 insertions(+), 0 deletions(-)
 create mode 100644 tools/linsched/tests/proc.conf

diff --git a/tools/linsched/linux_linsched.c b/tools/linsched/linux_linsched.c
index 6c24578..81825b9 100644
--- a/tools/linsched/linux_linsched.c
+++ b/tools/linsched/linux_linsched.c
@@ -76,6 +76,35 @@ void linsched_init_root_cgroup(struct cgroup *root)
 
 void init_stop_tasks(void);
 
+#define PROC_CONFIGURE_PATH	"./proc.conf"
+#define CONFIGURE_BUFFER_SIZE	77
+#define CONFIGURE_MAX_LINE	77
+void linsched_read_proc_configure(void)
+{
+	int line = 0;
+	char buffer[CONFIGURE_BUFFER_SIZE];
+	char procname[CONFIGURE_BUFFER_SIZE];
+	unsigned long value;
+	
+	FILE *file = fopen(PROC_CONFIGURE_PATH, "r");
+	if (!file) {
+		return;
+	}
+
+	while (fgets(buffer, CONFIGURE_BUFFER_SIZE, file)
+		&& line < CONFIGURE_MAX_LINE) {
+		line++;	
+		if (buffer[0] == '#')
+			continue;
+		if (!sscanf(buffer, "%s %lu", procname, &value))
+			goto out;
+		set_linsched_proc(procname, value);
+	}
+
+out:
+	fclose(file);
+}
+
 void linsched_init(struct linsched_topology *topo)
 {
 	curr_task_id = 1;
@@ -98,6 +127,7 @@ void linsched_init(struct linsched_topology *topo)
 
 	init_lb_info();
 	init_stop_tasks();
+	linsched_read_proc_configure();
 }
 
 void linsched_default_callback(void)
diff --git a/tools/linsched/tests/proc.conf b/tools/linsched/tests/proc.conf
new file mode 100644
index 0000000..b7276da
--- /dev/null
+++ b/tools/linsched/tests/proc.conf
@@ -0,0 +1,5 @@
+#style: procname value
+sched_child_runs_first 1;
+sched_latency_ns 6000000;
+sched_min_granularity_ns 750000;
+sched_wakeup_granularity_ns 1000000;
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ