summaryrefslogtreecommitdiffstats
path: root/tuningplugins
diff options
context:
space:
mode:
authorPhilip Knirsch <pknirsch@hamburg.stuttgart.redhat.com>2009-02-02 12:33:41 +0100
committerPhilip Knirsch <pknirsch@hamburg.stuttgart.redhat.com>2009-02-02 12:33:41 +0100
commit796739577264cd143b50dc7cd5302cd8ab49ca08 (patch)
tree04e4d293faa45c88fe4a88e8717ff160574b43c0 /tuningplugins
downloadtuned-796739577264cd143b50dc7cd5302cd8ab49ca08.tar.gz
tuned-796739577264cd143b50dc7cd5302cd8ab49ca08.tar.xz
tuned-796739577264cd143b50dc7cd5302cd8ab49ca08.zip
- Initial stuff
Diffstat (limited to 'tuningplugins')
-rw-r--r--tuningplugins/.disk.py.swpbin0 -> 12288 bytes
-rw-r--r--tuningplugins/__init__.py0
-rw-r--r--tuningplugins/disk.py28
3 files changed, 28 insertions, 0 deletions
diff --git a/tuningplugins/.disk.py.swp b/tuningplugins/.disk.py.swp
new file mode 100644
index 0000000..1e7ee23
--- /dev/null
+++ b/tuningplugins/.disk.py.swp
Binary files differ
diff --git a/tuningplugins/__init__.py b/tuningplugins/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tuningplugins/__init__.py
diff --git a/tuningplugins/disk.py b/tuningplugins/disk.py
new file mode 100644
index 0000000..32f6256
--- /dev/null
+++ b/tuningplugins/disk.py
@@ -0,0 +1,28 @@
+import os
+
+class DiskTuning:
+ def __init__(self):
+ self.devidle = {}
+
+ def __updateIdle__(self, dev, devload):
+ for type in ("READ", "WRITE"):
+ if devload[type] == 0.0:
+ idle = self.devidle.setdefault(dev, {})
+ idle.setdefault(type, 0)
+ idle[type] += 1
+ else:
+ idle = self.devidle.setdefault(dev, {})
+ idle.setdefault(type, 0)
+ idle[type] = 0
+
+ def setTuning(self, load):
+ disks = load.setdefault("DISK", {})
+ for dev in disks.keys():
+ devload = disks[dev]
+ self.__updateIdle__(dev, devload)
+ if self.devidle[dev]["READ"] == 30 and self.devidle[dev]["WRITE"] == 30:
+ os.system("hdparm -S5 /dev/"+dev)
+ os.system("hdparm -B1 /dev/"+dev)
+ print(load, self.devidle)
+
+_plugin = DiskTuning()