[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