summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch')
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch72
1 files changed, 0 insertions, 72 deletions
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
deleted file mode 100644
index 19261657ac..0000000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally
-implemented, therefore check for them being available, if not there
-then read the sysfs directly to get the value
-
-Upstream-Status: Submitted [https://github.com/stressapptest/stressapptest/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/sat.cc
-+++ b/src/sat.cc
-@@ -1482,15 +1482,47 @@ int Sat::CpuCount() {
- return sysconf(_SC_NPROCESSORS_CONF);
- }
-
-+int Sat::ReadInt(const char *filename, int *value) {
-+ char line[64];
-+ int fd = open(filename, O_RDONLY), err = -1;
-+
-+ if (fd < 0)
-+ return -1;
-+ if (read(fd, line, sizeof(line)) > 0) {
-+ *value = atoi(line);
-+ err = 0;
-+ }
-+
-+ close(fd);
-+ return err;
-+}
-+
- // Return the worst case (largest) cache line size of the various levels of
- // cache actually prsent in the machine.
- int Sat::CacheLineSize() {
-- int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
-- int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
-+ int max_linesize, linesize;
-+#ifdef _SC_LEVEL1_DCACHE_LINESIZE
-+ max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize);
-+#endif
-+#ifdef _SC_LEVEL2_DCACHE_LINESIZE
-+ linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize);
-+#endif
- if (linesize > max_linesize) max_linesize = linesize;
-- linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE);
-+#ifdef _SC_LEVEL3_DCACHE_LINESIZE
-+ linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize);
-+#endif
- if (linesize > max_linesize) max_linesize = linesize;
-- linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE);
-+#ifdef _SC_LEVEL4_DCACHE_LINESIZE
-+ linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize);
-+#endif
- if (linesize > max_linesize) max_linesize = linesize;
- return max_linesize;
- }
---- a/src/sat.h
-+++ b/src/sat.h
-@@ -136,7 +136,8 @@ class Sat {
- int CpuCount();
- // Return the worst-case (largest) cache line size of the system.
- int CacheLineSize();
--
-+ // Read int values from kernel file system e.g. sysfs
-+ int ReadInt(const char *filename, int *value);
- // Collect error counts from threads.
- int64 GetTotalErrorCount();
-