From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id E49CF4880F for ; Mon, 17 Jun 2024 17:04:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9F70868D778; Mon, 17 Jun 2024 20:04:25 +0300 (EEST) Received: from out203-205-251-80.mail.qq.com (out203-205-251-80.mail.qq.com [203.205.251.80]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 019D368D72A for ; Mon, 17 Jun 2024 20:04:15 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1718643846; bh=tPofTTzAiBRH/8DLkW8WkMkwMJPeoD99HHZR37/j4hM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=YQ9xFU0iWyfhHb7V9CUMb+bWAXKma/7VLlojDqrop4HUM5G/S9Idqw6BIVyV0NQmu 4KfcRKVEuZPWzsA+8Q2/CmbF5oQ9SQMDiy6aCCxHvn+l5UiL3on0BMQCEVJQOJdY1d RZX+lcrwtf15W+S4iLMeXMLFT/kbBO97Zzb/rbsE= Received: from ZHILIZHAO-MB1.tencent.com ([113.116.28.85]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 10325A81; Tue, 18 Jun 2024 01:04:03 +0800 X-QQ-mid: xmsmtpt1718643844tef8gkmkk Message-ID: X-QQ-XMAILINFO: OdDhBiKk1LgM1hzU5twUOgVLZFdGmRXlqL9rZdfXqz7eyBMchA8IpEPhxoI16/ 1gePJwn75fqW6ePTHgY+f4PbRk6EZT3189+UaJGBDU3AwblHyeNdMO7r2kIrR3InhijYEuNtcaXj QDaTFTo+K6uMUdKEso/z8xCPqba16xYBu0Q14+qqser1LWcIdv2cz+SxDc1+VxfUHXzY3ZyX7MrN FYRDF4b+5z7jTH19gr9qAz4vgh9ky7Pmjl8neialnNch2cnPUH7wBcuPILNPhNlhMVCXB3KoRiw3 qUQobCbTRrZAzy4RKhEjNofIeHTF23AJ+3oE1giOa7JneoAnyEle9latrVKd/f8/umn6qMo+r37v uXbwTm0UcohjhEk0fo+mP/eQanemimDQHl/ka5pGiMM4mISYQGppnX+EH6XYWJQvSrg5+rISQ7aM BRM3IgcHM+m0fA3nr+mO/fsjFKdyimNNBD2a0EBIelIRxasz8ceLPzlBbpV+jbVHgdAWDk+h0TKH VU2UJOGBSlwX48MZKzXANfPBVtHQSU6TSU2Fv8tm3M6TTGr8D4qVYjerCZcseRpT1c5WAXOyInZS eGTqR8VP9hUYVCW54GVtQuPSpAk6/8dqZ37lJRizi1cVzej9kcS4Xs5G/6uhnPJpWJlX07XMbkv1 D9GZlCSDZMUbPtQPRNoAscOM4QSp/PGgHa4aqblKi2h/dBwNFs/nwAJYbAXMEPXij71zjL6Of1+t 7VcQ0oHMyvt3r/Qh0bMKjWd011ysVLPrqcqmTNn01G67R2ha6PydS9V9/QLO9stao9dcGgyv3mlb suGHHdbrq2L+wIypB59kyedolCa84nCN4KGiLYTSSEUUQKqtwhAFc+Kt48zGsPa3AwbTxPbh6FSw zD4RFOHPolg3T4wCirnvzq/AaDYGGBKgUJyC/lWCpMifCI5sTmLfg+020OqAZVx0MsKyyKJgKf3b DCIsHWhVjlRaLIUAxsz9Iqf4upkwcXLtllxrWsAkGTdoK7vk4PY6N3FupCwPCqxIWWgSDWlLA= X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 18 Jun 2024 01:04:00 +0800 X-OQ-MSGID: <20240617170400.59734-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240617170400.59734-1-quinkblack@foxmail.com> References: <20240617170400.59734-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/2] avutil/macos_kperf: Fix assert which makes kperf failed to run X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Zhao Zhili On m1, kpc_get_counter_count(KPC_MASK) return 8 in my test. The exact value doesn't matter in our case, as long as we have a sufficiently large array Signed-off-by: Zhao Zhili --- libavutil/macos_kperf.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libavutil/macos_kperf.c b/libavutil/macos_kperf.c index 9fb047eeee..b2c1d164ac 100644 --- a/libavutil/macos_kperf.c +++ b/libavutil/macos_kperf.c @@ -67,14 +67,15 @@ KPERF_LIST #define KPC_CLASS_POWER_MASK (1 << 2) #define KPC_CLASS_RAWPMU_MASK (1 << 3) -#define COUNTERS_COUNT 10 +#define KPC_MAX_COUNTERS 32 #define CONFIG_COUNT 8 #define KPC_MASK (KPC_CLASS_CONFIGURABLE_MASK | KPC_CLASS_FIXED_MASK) static void kperf_init(void) { - uint64_t config[COUNTERS_COUNT] = {0}; + uint64_t config[CONFIG_COUNT] = {0}; void *kperf = NULL; + uint32_t n; av_assert0(kperf = dlopen("/System/Library/PrivateFrameworks/kperf.framework/Versions/A/kperf", RTLD_LAZY)); @@ -82,8 +83,10 @@ static void kperf_init(void) KPERF_LIST #undef F - av_assert0(kpc_get_counter_count(KPC_MASK) == COUNTERS_COUNT); - av_assert0(kpc_get_config_count(KPC_MASK) == CONFIG_COUNT); + n = kpc_get_counter_count(KPC_MASK); + av_assert0(n <= KPC_MAX_COUNTERS); + n = kpc_get_config_count(KPC_MASK); + av_assert0(n <= CONFIG_COUNT); config[0] = CPMU_CORE_CYCLE | CFGWORD_EL0A64EN_MASK; // config[3] = CPMU_INST_BRANCH | CFGWORD_EL0A64EN_MASK; @@ -104,8 +107,9 @@ void ff_kperf_init(void) uint64_t ff_kperf_cycles(void) { - uint64_t counters[COUNTERS_COUNT]; - if (kpc_get_thread_counters(0, COUNTERS_COUNT, counters)) { + uint64_t counters[KPC_MAX_COUNTERS]; + + if (kpc_get_thread_counters(0, KPC_MAX_COUNTERS, counters)) { return -1; } -- 2.42.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".