Re: [PATCH v7 2/5] erofs-utils: add a helper to get available processors

2024-03-20 Thread Gao Xiang




On 2024/3/21 02:15, Huang Jianan wrote:

On 2024/3/15 9:10, Gao Xiang wrote:


In order to prepare for multi-threaded decompression.


multi-threaded compression.


It already merged into -dev.  I would not update this
since it's a minor stuff.  Let's work on inter-file
stuffs.

Thanks,
Gao Xiang


Re: [PATCH v7 2/5] erofs-utils: add a helper to get available processors

2024-03-20 Thread Huang Jianan

On 2024/3/15 9:10, Gao Xiang wrote:


In order to prepare for multi-threaded decompression.


multi-threaded compression.

Thanks,
Jianan


Signed-off-by: Yifan Zhao
Signed-off-by: Gao Xiang
---
  configure.ac   |  1 +
  include/erofs/config.h |  1 +
  lib/config.c   | 12 
  3 files changed, 14 insertions(+)

diff --git a/configure.ac b/configure.ac
index 3ccd6bb..2e69260 100644
--- a/configure.ac
+++ b/configure.ac
@@ -256,6 +256,7 @@ AC_CHECK_FUNCS(m4_flatten([
strerror
strrchr
strtoull
+   sysconf
tmpfile64
utimensat]))
  
diff --git a/include/erofs/config.h b/include/erofs/config.h

index eecf575..73e3ac2 100644
--- a/include/erofs/config.h
+++ b/include/erofs/config.h
@@ -109,6 +109,7 @@ static inline int erofs_selabel_open(const char 
*file_contexts)
  
  void erofs_update_progressinfo(const char *fmt, ...);

  char *erofs_trim_for_progressinfo(const char *str, int placeholder);
+unsigned int erofs_get_available_processors(void);
  
  #ifdef __cplusplus

  }
diff --git a/lib/config.c b/lib/config.c
index 1096cd1..947a183 100644
--- a/lib/config.c
+++ b/lib/config.c
@@ -14,6 +14,9 @@
  #ifdef HAVE_SYS_IOCTL_H
  #include 
  #endif
+#ifdef HAVE_UNISTD_H
+#include 
+#endif
  
  struct erofs_configure cfg;

  struct erofs_sb_info sbi;
@@ -177,3 +180,12 @@ void erofs_update_progressinfo(const char *fmt, ...)
fputs(msg, stdout);
fputc('\n', stdout);
  }
+
+unsigned int erofs_get_available_processors(void)
+{
+#if defined(HAVE_UNISTD_H) && defined(HAVE_SYSCONF)
+   return sysconf(_SC_NPROCESSORS_ONLN);
+#else
+   return 0;
+#endif
+}