From patchwork Wed Dec 1 18:44:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Zhou X-Patchwork-Id: 104810 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BD031A0C41; Wed, 1 Dec 2021 19:44:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2CA61426F1; Wed, 1 Dec 2021 19:44:17 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id E5D624068C for ; Wed, 1 Dec 2021 19:44:10 +0100 (CET) Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id D413E20E61AF; Wed, 1 Dec 2021 10:44:09 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com D413E20E61AF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1638384249; bh=G21A1xUkgd7EjMr79cHDN6COBYFivV6ZRxaSnZ6wmxU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gsNICwBag6Ycb6XxSqEN8MN824fE2tRWhhY51XfVLff3VAibth+pX+8f/35yVG2m/ 4ouU7wroSpKvj5jOb5/+qiHFx6QDHlUwBs2eALz2BUhvUh3Le90yrtiXMTTcv3DcxD AIp4GD6xQTairLF6Tk6lweERIrNuFnFr1lvo10MU= From: Jie Zhou To: dev@dpdk.org Cc: dmitry.kozliuk@gmail.com, roretzla@microsoft.com, navasile@linux.microsoft.com, dmitrym@microsoft.com, pallavi.kadam@intel.com, talshn@nvidia.com, thomas@monjalon.net, aconole@redhat.com Subject: [PATCH v10 8/9] app/test: replace .sh script with .py script Date: Wed, 1 Dec 2021 10:44:04 -0800 Message-Id: <1638384245-12587-9-git-send-email-jizh@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1638384245-12587-1-git-send-email-jizh@linux.microsoft.com> References: <1638381938-6113-1-git-send-email-jizh@linux.microsoft.com> <1638384245-12587-1-git-send-email-jizh@linux.microsoft.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org - Add python script to check if system supports hugepages - Remove corresponding .sh script - Replace calling of .sh with corresponding .py in meson.build Signed-off-by: Jie Zhou --- app/test/has-hugepage.sh | 11 ----------- app/test/has_hugepage.py | 26 ++++++++++++++++++++++++++ app/test/meson.build | 2 +- 3 files changed, 27 insertions(+), 12 deletions(-) delete mode 100755 app/test/has-hugepage.sh create mode 100644 app/test/has_hugepage.py diff --git a/app/test/has-hugepage.sh b/app/test/has-hugepage.sh deleted file mode 100755 index d600fad319..0000000000 --- a/app/test/has-hugepage.sh +++ /dev/null @@ -1,11 +0,0 @@ -#! /bin/sh -# SPDX-License-Identifier: BSD-3-Clause -# Copyright 2020 Mellanox Technologies, Ltd - -if [ "$(uname)" = "Linux" ] ; then - cat /proc/sys/vm/nr_hugepages || echo 0 -elif [ "$(uname)" = "FreeBSD" ] ; then - echo 1 # assume FreeBSD always has hugepages -else - echo 0 -fi diff --git a/app/test/has_hugepage.py b/app/test/has_hugepage.py new file mode 100644 index 0000000000..f8e7087d1c --- /dev/null +++ b/app/test/has_hugepage.py @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright (c) 2021 Microsoft Corporation +"""This script checks if the system supports huge pages""" + +import platform +import ctypes + +os_name = platform.system() +if os_name == "Linux": + try: + with open("/proc/sys/vm/nr_hugepages") as file_o: + content = file_o.read() + print(content) + except: + print("0") + +elif os_name == "FreeBSD": + # Assume FreeBSD always has hugepages enabled + print("1") +elif os_name == "Windows": + if ctypes.windll.kernel32.GetLargePageMinimum() > 0: + print("1") + else: + print("0") +else: + print("0") diff --git a/app/test/meson.build b/app/test/meson.build index 2b480adfba..97ee83029e 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -492,7 +492,7 @@ dpdk_test = executable('dpdk-test', driver_install_path), install: true) -has_hugepage = run_command('has-hugepage.sh').stdout().strip() != '0' +has_hugepage = run_command(py3, 'has_hugepage.py').stdout().strip() != '0' message('hugepage availability: @0@'.format(has_hugepage)) # some perf tests (eg: memcpy perf autotest)take very long