From patchwork Fri Nov 16 11:50:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ahmed Abd El Mawgood X-Patchwork-Id: 10686115 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 47FF613B5 for ; Fri, 16 Nov 2018 11:51:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 33CB22CD64 for ; Fri, 16 Nov 2018 11:51:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 246032CD70; Fri, 16 Nov 2018 11:51:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 907852CD64 for ; Fri, 16 Nov 2018 11:51:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727767AbeKPWDY (ORCPT ); Fri, 16 Nov 2018 17:03:24 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:37572 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727963AbeKPWDX (ORCPT ); Fri, 16 Nov 2018 17:03:23 -0500 Received: by mail-wm1-f65.google.com with SMTP id p2-v6so20753892wmc.2 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=lSz6Njhyu7Fhsgiv7yEqojFuTKvcQFn6qgjMlFbNkU7UirzCPKDb67UFFw4nvYw2MV FES9uDRaJZSVfiyidkWS+8eSlnpqVo2eAYX98ToluCMqwTrunyBtHr7mPlsdGLsAzdN1 pirJ7mjzUem2b5ft3y0/xG+kbUO/Y2woTCpoq+DQfWSUcny3tjDbpTK0MKp4ZWxtbjq2 pbObwUZQb63JAEwQOJMsaIkxH9pWe20gfQzFaV29i70AVWHnPa1Bxk/6PTqWQfBzbLuE jBjceDUZGTnA+SZnje/HBxljaUivgDEHw5XsaSAuZsTVCJ9+m837VwTmp0S012w1ivDx Z2bg== X-Gm-Message-State: AGRZ1gLtjvHaqgIqHl2msa3/8S16BZObzZCLiGQj5PNjTqEGxNusz/HT 1FXwznLi1m+9MCjvXk+l05mzNA== X-Google-Smtp-Source: AJdET5enwGsKs7ldkV10V1B5kekm7cLExtPGsWsIOBbkVFUwlBFK8cqqFjQZ+crjBT3RYDRusWtaaw== 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-kselftest-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Reviewed-by: Andrew Jones --- 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();