[igt-dev] [PATCH i-g-t v3 1/1] lib: consolidate duplicated define of vfs_file_max(void)
Caz Yokoyama
caz.yokoyama at intel.com
Thu Apr 25 17:23:13 UTC 2019
Remove it from intel_os.c and gem_exec_reuse.c and globally
define in igt_aux.c.
v3: update comment in the code and commit message.
Signed-off-by: Caz Yokoyama <caz.yokoyama at intel.com>
Cc: Petri Latvala <petri.latvala at intel.com>
---
lib/igt_aux.c | 24 ++++++++++++++++++++++++
lib/igt_aux.h | 2 ++
lib/intel_os.c | 14 --------------
tests/i915/gem_exec_reuse.c | 14 +-------------
4 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 05528352..c3a9764a 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -1615,3 +1615,27 @@ bool igt_allow_unlimited_files(void)
rlim.rlim_max = nofile_rlim;
return setrlimit(RLIMIT_NOFILE, &rlim) == 0;
}
+
+/**
+ * vfs_file_max: report maximum number of files
+ *
+ * Get the global system-wide maximum of open files the kernel allows,
+ * by reading /proc/sys/fs/file-max. Fails the current subtest if
+ * reading the file fails, and returns a suitable best guess if it
+ * cannot be opened.
+ *
+ * Returns: System-wide maximum of open files, or a best effort guess.
+ */
+uint64_t vfs_file_max(void)
+{
+ static long long unsigned max;
+ if (max == 0) {
+ FILE *file = fopen("/proc/sys/fs/file-max", "r");
+ max = 80000;
+ if (file) {
+ igt_assert(fscanf(file, "%llu", &max) == 1);
+ fclose(file);
+ }
+ }
+ return max;
+}
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index 55392790..b5416ae0 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -297,4 +297,6 @@ void igt_lsof(const char *dpath);
#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+uint64_t vfs_file_max(void);
+
#endif /* IGT_AUX_H */
diff --git a/lib/intel_os.c b/lib/intel_os.c
index dd93bea1..505831c0 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -279,20 +279,6 @@ void *intel_get_total_pinnable_mem(size_t *total)
return can_mlock;
}
-static uint64_t vfs_file_max(void)
-{
- static long long unsigned max;
- if (max == 0) {
- FILE *file = fopen("/proc/sys/fs/file-max", "r");
- max = 80000;
- if (file) {
- igt_assert(fscanf(file, "%llu", &max) == 1);
- fclose(file);
- }
- }
- return max;
-}
-
static unsigned max_open_files(void)
{
struct rlimit rlim;
diff --git a/tests/i915/gem_exec_reuse.c b/tests/i915/gem_exec_reuse.c
index 9cba1354..935bfa9a 100644
--- a/tests/i915/gem_exec_reuse.c
+++ b/tests/i915/gem_exec_reuse.c
@@ -25,6 +25,7 @@
#include <sys/resource.h>
#include "igt.h"
+#include "igt_aux.h"
IGT_TEST_DESCRIPTION("Inspect scaling with large number of reused objects");
@@ -56,19 +57,6 @@ static void noop(struct noop *n,
gem_execbuf(n->fd, &execbuf);
}
-static uint64_t vfs_file_max(void)
-{
- long long unsigned max = 80000;
- FILE *file = fopen("/proc/sys/fs/file-max", "r");
- if (file) {
- igt_assert(fscanf(file, "%llu", &max) == 1);
- fclose(file);
- }
-
- igt_info("System limit for open files is %llu\n", max);
- return max;
-}
-
static uint64_t max_open_files(void)
{
struct rlimit rlim;
--
2.17.1
More information about the igt-dev
mailing list