Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp364145imu; Fri, 16 Nov 2018 03:52:27 -0800 (PST) X-Google-Smtp-Source: AJdET5ecXxpMtomFF1x9BbIqAJqteb3GdgpM1D6qgF1E4RhK2b75D2M2efWdSuCVG02hJjCUR3yD X-Received: by 2002:a17:902:780a:: with SMTP id p10mr10806681pll.54.1542369147171; Fri, 16 Nov 2018 03:52:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542369147; cv=none; d=google.com; s=arc-20160816; b=a6eRmq1nEMZOC1fjGexe5GJlGxoFtKIrvwXUAosN7U7XGe1nwu1QIfwgVrIp5NC7eH 9EEdLbIwrRA5ciC4F8fanRVK1LDGlcO7P6Pjy3ZMpbPWx2o46dQvEwsG1z2UnyMt2Lka VCCxE5ftnVI+IQQaovh1G/KghXGtwvLiSGNWAozRIeFA4l+dPhp3Ht33Fzu+JBUS2/oi d3CjKghRGFtW+WqyMD/elOlmnyGCUu8R1Yf0aLZtOlevkNcQci3BrpE3w8LiYYmLmYwh OhOEMePIO4tgaa643tLeGaVpqYg56KoebaZsa/hbMyBEPrePukpeNk2qMYoFxlZM2QZf OzZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=9/Jpoirvo+JBapSNqbcEaqpfZUw6b7iOGbbgwDtFxZQ=; b=k2SDO9ozLWR4f9aqUOKLgoa/NFxeKeiamdmF2Kvn+tvxqQ2aB03Kxl/6gAQmdIxzKn FoF8d+LrdFtASz8Qtww2UwdIfTXzjYsp9qL1tAGU368wVUscZDemHCPxil+zrKnF7SKi GxFl/ileZW/EWY7B2La5loO9UKF7rccR1xZiVVJq64O+7W7INWvt6x7BgixYGS9Psffo 5vhc6bVXFOdeMqcx4sdlc7zblGwIkXCSVdGgkkO/Co56H6zkujEw26mVaw5GI9OS4nHh 9Mpz23UgabIXprnriHaXm0JRQOCrCRoMUfIdyJ4suYOrCtOGfHvcIrXcwFwgGVfRsPLO KGuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mena-vt-edu.20150623.gappssmtp.com header.s=20150623 header.b=JMxd+RnV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vt.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h65-v6si33981600pfc.62.2018.11.16.03.52.12; Fri, 16 Nov 2018 03:52:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mena-vt-edu.20150623.gappssmtp.com header.s=20150623 header.b=JMxd+RnV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vt.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389571AbeKPWDX (ORCPT + 99 others); Fri, 16 Nov 2018 17:03:23 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:54062 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727767AbeKPWDX (ORCPT ); Fri, 16 Nov 2018 17:03:23 -0500 Received: by mail-wm1-f68.google.com with SMTP id f10-v6so21754468wme.3 for ; Fri, 16 Nov 2018 03:51:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mena-vt-edu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=9/Jpoirvo+JBapSNqbcEaqpfZUw6b7iOGbbgwDtFxZQ=; b=JMxd+RnVG+AodKMinfHmpQZ+hq/rvlED2bVglPNzIBV6G26ASIQ4YQaGEnwuyjuaJ9 MYhvkD6Bjumi/YpR/aHuXYcg6/b4+k0fU3z/sXNF+H44i7f4XHuN+ffcxe/nuozT1DBD saeLiT3KFqGrm9Bp2XorPBEMYvQg+5Ud1kpxn8hKjaDY0XaIqzqvyZ/BbQDdLjAc924U 6g9qqKP6dm0/2DOLXyvkzl7GajJOizmD70N9RP8phHv3+Oqh7aPjGN8wdllz08BKy/FX 4yBzuAhtGv9ipocX6kHAbmOTErSSbBk4cpk8dp6norjFoLD/31Ku5XT95ec+5SndiuhD Wc/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=9/Jpoirvo+JBapSNqbcEaqpfZUw6b7iOGbbgwDtFxZQ=; b=kePpwys8S+6sqtmjcbhJzPMO1YAHVuIFN3uOp2rTW+bW1oDKbyOkkcTKFXO7cvnWbq o+hCD1iwTZwf2wvUlGYBS/dNkAu0IKU6U4YWbxcFCnc1/2Nvsy4e5anrFErbIGP7rFF7 tqeAbZ//hzeO+gpJj23+EitEOWv6Ty0OheNGO95lT28Sqerm71JPdWqcc2lGpDx3ddkU JCy1F0z/9YFm1VCRSm548EA/B5CFHw6zkjsJlJt8hsNG4KJKr8eNuiEFOfsYDKTlO8j4 kat68Oy4bfYDpId329+KBV0S/gn4KtVYdU90klP8/kEcdR5u/RQd0c2EW/CcQ6FbkhPb CQrg== X-Gm-Message-State: AGRZ1gLedr3pqqWmrJaoM53KV13KNS8L/8uWe2bWrLS0q3FCM8XP2XRy Q6yf42R+rmmJPrkIdDpYHmegog== X-Received: by 2002:a1c:bc82:: with SMTP id m124-v6mr8606182wmf.47.1542369080093; Fri, 16 Nov 2018 03:51:20 -0800 (PST) Received: from localhost.localdomain ([41.35.235.41]) by smtp.gmail.com with ESMTPSA id e66-v6sm44686207wmf.40.2018.11.16.03.51.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Nov 2018 03:51:19 -0800 (PST) From: Ahmed Abd El Mawgood X-Google-Original-From: Ahmed Abd El Mawgood To: Shuah Khan , Paolo Bonzini , Andrew Jones , Peter Xu , Colin Ian King , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Hossam Hassan <7ossam9063@gmail.com>, Ahmed Lotfy , Vitaly Kuznetsov , Anders Roxell Cc: Ahmed Abd El Mawgood Subject: [PATCH V2] SelfTest: KVM: Drop Asserts for madvise MADV_NOHUGEPAGE failure Date: Fri, 16 Nov 2018 13:50:55 +0200 Message-Id: <20181116115055.7415-1-ahmedsoliman0x666@gmail.com> X-Mailer: git-send-email 2.18.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ahmed Abd El Mawgood madvise() returns -1 without CONFIG_TRANSPARENT_HUGEPAGE=y. That would trigger asserts when checking for return value of madvice. Following similar decision to [1]. I thought it is ok to assume that madvise() MADV_NOHUGEPAGE failures implies that THP is not supported by host kernel. Other options was to check for Transparent Huge Page support in /sys/kernel/mm/transparent_hugepage/enabled. -- links -- [1] https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg04514.html Signed-off-by: Ahmed Abd El Mawgood --- tools/testing/selftests/kvm/lib/kvm_util.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c index 1b41e71283d5..437c5bb48061 100644 --- a/tools/testing/selftests/kvm/lib/kvm_util.c +++ b/tools/testing/selftests/kvm/lib/kvm_util.c @@ -586,14 +586,23 @@ void vm_userspace_mem_region_add(struct kvm_vm *vm, src_type == VM_MEM_SRC_ANONYMOUS_THP ? huge_page_size : 1); /* As needed perform madvise */ - if (src_type == VM_MEM_SRC_ANONYMOUS || src_type == VM_MEM_SRC_ANONYMOUS_THP) { + if (src_type == VM_MEM_SRC_ANONYMOUS) { + /* + * Neglect madvise error because it is ok to not have THP + * support in this case. + */ + madvise(region->host_mem, npages * vm->page_size, + MADV_NOHUGEPAGE); + } else if (src_type == VM_MEM_SRC_ANONYMOUS_THP) { ret = madvise(region->host_mem, npages * vm->page_size, - src_type == VM_MEM_SRC_ANONYMOUS ? MADV_NOHUGEPAGE : MADV_HUGEPAGE); + MADV_HUGEPAGE); TEST_ASSERT(ret == 0, "madvise failed,\n" - " addr: %p\n" - " length: 0x%lx\n" - " src_type: %x", - region->host_mem, npages * vm->page_size, src_type); + "Does the kernel have CONFIG_TRANSPARENT_HUGEPAGE=y\n" + " addr: %p\n" + " length: 0x%lx\n" + " src_type: %x\n", + region->host_mem, npages * vm->page_size, + src_type); } region->unused_phy_pages = sparsebit_alloc(); -- 2.18.1