On 6/6/2021 7:44 AM, Thilo Borgmann wrote:
Hi,

Am 05.06.21 um 16:33 schrieb Anton Khirnov:
Quoting Thilo Borgmann (2021-06-05 14:29:05)
Hi,

add an option to override auto-detection of cpu count. Defaults to 
auto-detection, of course.

-Thilo

 From 38612f3e1339354dbaa6be4f36072320ff71c707 Mon Sep 17 00:00:00 2001
From: Thilo Borgmann <thilo.borgm...@mail.de>
Date: Sat, 5 Jun 2021 14:26:23 +0200
Subject: [PATCH] fftools/cmdutils.c: Add cmd line option to override detection
  of cpu count

Suggested-By: ffm...@fb.com
---
  doc/fftools-common-opts.texi |  7 +++++++
  fftools/cmdutils.c           | 27 +++++++++++++++++++++++++++
  fftools/cmdutils.h           |  7 +++++++
  libavutil/cpu.c              | 14 ++++++++++++++
  libavutil/cpu.h              |  6 ++++++
  5 files changed, 61 insertions(+)

[...]

  /**
   * Fallback for options that are not explicitly handled, these will be
   * parsed through AVOptions.
@@ -239,6 +245,7 @@ void show_help_options(const OptionDef *options, const char 
*msg, int req_flags,
      { "report",      0,                    { .func_arg = opt_report },       
"generate a report" },                     \
      { "max_alloc",   HAS_ARG,              { .func_arg = opt_max_alloc },    "set maximum 
size of a single allocated block", "bytes" }, \
      { "cpuflags",    HAS_ARG | OPT_EXPERT, { .func_arg = opt_cpuflags },     "force specific 
cpu flags", "flags" },     \
+    { "cpucount",    HAS_ARG | OPT_EXPERT, { .func_arg = opt_cpucount },     "force specific 
cpu count", "count" },     \
      { "hide_banner", OPT_BOOL | OPT_EXPERT, {&hide_banner},     "do not show program 
banner", "hide_banner" },          \
      CMDUTILS_COMMON_OPTIONS_AVDEVICE                                          
                                          \
diff --git a/libavutil/cpu.c b/libavutil/cpu.c
index 52f6b9a3bf..ccd5b5adac 100644
--- a/libavutil/cpu.c
+++ b/libavutil/cpu.c
@@ -48,6 +48,7 @@
  #endif
static atomic_int cpu_flags = ATOMIC_VAR_INIT(-1);
+static atomic_int cpu_count = ATOMIC_VAR_INIT(-1);
static int get_cpu_flags(void)
  {
@@ -306,14 +307,27 @@ int av_cpu_count(void)
      nb_cpus = sysinfo.dwNumberOfProcessors;
  #endif
+ int count = atomic_load_explicit(&cpu_count, memory_order_relaxed);

Just use a normal atomic_load().

[...]

+/**
+ * Overrides cpu count detection and forces the specified count.
+ * Count < 1 disables forcing of specific count.
+ */
+void av_force_cpu_count(int count);

I'd prefer if the name was namespaced as av_cpu_

For both of these, I copied the behavior of av_force_cpu_flags(). For function 
names as well as the atomic load.
Let me know which way you prefer. If you prefer your reviewed version, I could 
also send a patch for similar changes to av_force_cpu_flags() if that makes 
sense.

All other remarks changed locally.

Looks like you did not rename it to av_cpu_ namespace.


Thanks,
Thilo
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to