[igt-dev] [PATCH i-g-t v3 1/1] lib: consolidate duplicated define of vfs_file_max(void)
Petri Latvala
petri.latvala at intel.com
Fri Apr 26 09:41:10 UTC 2019
On Thu, Apr 25, 2019 at 10:23:13AM -0700, Caz Yokoyama wrote:
> 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>
Reviewed-by: 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