From patchwork Wed Nov 25 19:19:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 84556 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 99E67A0545; Wed, 25 Nov 2020 20:20:36 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9C99FC9A6; Wed, 25 Nov 2020 20:19:30 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 65082C9A0; Wed, 25 Nov 2020 20:19:28 +0100 (CET) IronPort-SDR: LPcD8acrXgkr+NxZT8K66qrXkfZRFPRr/NccBrSLJgALhfN8L+CI4IzxtMKHqhhsr+pP4jCoi2 34rTCQGd+S1Q== X-IronPort-AV: E=McAfee;i="6000,8403,9816"; a="151447618" X-IronPort-AV: E=Sophos;i="5.78,370,1599548400"; d="scan'208";a="151447618" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Nov 2020 11:19:26 -0800 IronPort-SDR: uZeQ3iDRISjIDurY9/BTBe38jZJvDlKcxWcW9avTEv/bgoRaBpvEv6sZN4j390vWuB/Jfv4B/I soqD4OxdiIxg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,370,1599548400"; d="scan'208";a="547413837" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.180]) by orsmga005.jf.intel.com with ESMTP; 25 Nov 2020 11:19:24 -0800 From: Ferruh Yigit To: Thomas Monjalon Cc: Ferruh Yigit , dev@dpdk.org, techboard@dpdk.org, Stephen Hemminger , Bruce Richardson Date: Wed, 25 Nov 2020 19:19:06 +0000 Message-Id: <20201125191908.1867106-5-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201125191908.1867106-1-ferruh.yigit@intel.com> References: <20201125191908.1867106-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 4/6] usertools/setup: remove hugepage functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" There is a specific tool to setup hugepages, with better support, no need to have duplication. The hugepage script is: './usertools/dpdk-hugepages.py' Please try "./usertools/dpdk-hugepages.py -h" for more information about the tool. Signed-off-by: Ferruh Yigit Tested-by: Conor Walsh --- usertools/dpdk-setup.sh | 145 +++------------------------------------- 1 file changed, 9 insertions(+), 136 deletions(-) diff --git a/usertools/dpdk-setup.sh b/usertools/dpdk-setup.sh index 759f6c096536..1e36661e572e 100755 --- a/usertools/dpdk-setup.sh +++ b/usertools/dpdk-setup.sh @@ -15,8 +15,6 @@ echo "-------------------------------------------------------------------------- echo " RTE_SDK exported as $RTE_SDK" echo "------------------------------------------------------------------------------" -HUGEPGSZ=`cat /proc/meminfo | grep Hugepagesize | cut -d : -f 2 | tr -d ' '` - # # Sets QUIT variable so script will finish. # @@ -31,36 +29,6 @@ q() quit } -# -# Creates hugepage filesystem. -# -create_mnt_huge() -{ - echo "Creating /mnt/huge and mounting as hugetlbfs" - sudo mkdir -p /mnt/huge - - grep -s '/mnt/huge' /proc/mounts > /dev/null - if [ $? -ne 0 ] ; then - sudo mount -t hugetlbfs nodev /mnt/huge - fi -} - -# -# Removes hugepage filesystem. -# -remove_mnt_huge() -{ - echo "Unmounting /mnt/huge and removing directory" - grep -s '/mnt/huge' /proc/mounts > /dev/null - if [ $? -eq 0 ] ; then - sudo umount /mnt/huge - fi - - if [ -d /mnt/huge ] ; then - sudo rm -R /mnt/huge - fi -} - # # Unloads igb_uio.ko. # @@ -182,79 +150,6 @@ set_vfio_permissions() fi } -# -# Removes all reserved hugepages. -# -clear_huge_pages() -{ - echo > .echo_tmp - for d in /sys/devices/system/node/node? ; do - echo "echo 0 > $d/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" >> .echo_tmp - done - echo "Removing currently reserved hugepages" - sudo sh .echo_tmp - rm -f .echo_tmp - - remove_mnt_huge -} - -# -# Creates hugepages. -# -set_non_numa_pages() -{ - clear_huge_pages - - echo "" - echo " Input the number of ${HUGEPGSZ} hugepages" - echo " Example: to have 128MB of hugepages available in a 2MB huge page system," - echo " enter '64' to reserve 64 * 2MB pages" - echo -n "Number of pages: " - read Pages - - echo "echo $Pages > /sys/kernel/mm/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" > .echo_tmp - - echo "Reserving hugepages" - sudo sh .echo_tmp - rm -f .echo_tmp - - create_mnt_huge -} - -# -# Creates hugepages on specific NUMA nodes. -# -set_numa_pages() -{ - clear_huge_pages - - echo "" - echo " Input the number of ${HUGEPGSZ} hugepages for each node" - echo " Example: to have 128MB of hugepages available per node in a 2MB huge page system," - echo " enter '64' to reserve 64 * 2MB pages on each node" - - echo > .echo_tmp - for d in /sys/devices/system/node/node? ; do - node=$(basename $d) - echo -n "Number of pages for $node: " - read Pages - echo "echo $Pages > $d/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" >> .echo_tmp - done - echo "Reserving hugepages" - sudo sh .echo_tmp - rm -f .echo_tmp - - create_mnt_huge -} - -# -# Print hugepage information. -# -grep_meminfo() -{ - grep -i huge /proc/meminfo -} - # # Calls dpdk-devbind.py --status to show the devices and what they # are all bound to, in terms of drivers. @@ -329,41 +224,23 @@ step1_func() TEXT[1]="Insert VFIO module" FUNC[1]="load_vfio_module" - TEXT[2]="Setup hugepage mappings for non-NUMA systems" - FUNC[2]="set_non_numa_pages" - - TEXT[3]="Setup hugepage mappings for NUMA systems" - FUNC[3]="set_numa_pages" + TEXT[2]="Display current Ethernet/Baseband/Crypto device settings" + FUNC[2]="show_devices" - TEXT[4]="Display current Ethernet/Baseband/Crypto device settings" - FUNC[4]="show_devices" + TEXT[3]="Bind Ethernet/Baseband/Crypto device to IGB UIO module" + FUNC[3]="bind_devices_to_igb_uio" - TEXT[5]="Bind Ethernet/Baseband/Crypto device to IGB UIO module" - FUNC[5]="bind_devices_to_igb_uio" - - TEXT[6]="Bind Ethernet/Baseband/Crypto device to VFIO module" - FUNC[6]="bind_devices_to_vfio" - - TEXT[7]="Setup VFIO permissions" - FUNC[7]="set_vfio_permissions" -} - -# -# Other options -# -step2_func() -{ - TITLE="Other tools" - - TEXT[1]="List hugepage info from /proc/meminfo" - FUNC[1]="grep_meminfo" + TEXT[4]="Bind Ethernet/Baseband/Crypto device to VFIO module" + FUNC[4]="bind_devices_to_vfio" + TEXT[5]="Setup VFIO permissions" + FUNC[5]="set_vfio_permissions" } # # Options for cleaning up the system # -step3_func() +step2_func() { TITLE="Uninstall and system cleanup" @@ -378,14 +255,10 @@ step3_func() TEXT[4]="Remove KNI module" FUNC[4]="remove_kni_module" - - TEXT[5]="Remove hugepage mappings" - FUNC[5]="clear_huge_pages" } STEPS[1]="step1_func" STEPS[2]="step2_func" -STEPS[3]="step3_func" QUIT=0