Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp434305imu; Fri, 16 Nov 2018 05:00:01 -0800 (PST) X-Google-Smtp-Source: AJdET5d5ly4+ZMGvF9AnkpW+bfV624TlJsQMTOTekbPHBXGhsCfeydXMkG2WoR37bzztCcZkN4So X-Received: by 2002:a17:902:7042:: with SMTP id h2mr4466591plt.341.1542373201504; Fri, 16 Nov 2018 05:00:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542373201; cv=none; d=google.com; s=arc-20160816; b=bJl2m+9NFvSST3chnh+RlyKhhddhKocgfWUJdw0ZS9cXHYIYhA7p3bB293RnrjbThy VSjZmWy8hj1aAvyxtTawQkzMrxfPzxsHw4dJx/tF/n4rTSTi2YvedaP3WfCQuQX2Ijbt 9K+gjANloZODQBVYlGMZu9FME5c8J8z5GOv4pM/8FjUkCL64RJNpwWyMmQ4VyvTnE2Vd r4Cwh8POFZgEWluMax/hNW9aZ7dacg4RMtO0IhcZiNzBMbtC1wWybJpGZib3rA9F4UVy VWrZq4GBVDoNe34KhvDy5tigjXvVRzE3ULYOb1dySXk8S3RFUo1W9mUWRX6EAFQB/QLc WLyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=+Wq551MwWD73I8pT0xpohKxV4aenSB+Kq8Lw/VJdXcU=; b=S1kzTUmBYcvwGda5OwVyPvM0KhZKbJiM6G65y67TzZylxFZWzyUT4uBXq2/q7PyK5m AuneAI/h6iiB7UFmOaUiMFoKsDvdC4NT2cqyH4cEJYWPGKtcQYFZtOaboNzg480tPNAt BfWEULpOWsklqF/n/Uv18vUEF1yKN0OCISbm2I5a/aia9a94GVbBfLzph7UeKi9Q6rG7 KNyyVemeNTZEpr+gjOE5h6QBUIiMoyLPnp6N/Xd3T/cAtEQvgWr3G5oYExMebP/B3mDQ 8tnaADplcjCAIBCEz12+QUn6vHQFrgZlOW/Vx5hNshhxQVeBMXuxe+ZQmpthzzmPLEKp mPVg== ARC-Authentication-Results: i=1; mx.google.com; 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m75si9427756pga.432.2018.11.16.04.59.46; Fri, 16 Nov 2018 05:00:01 -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; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728079AbeKPXLY (ORCPT + 99 others); Fri, 16 Nov 2018 18:11:24 -0500 Received: from mx1.redhat.com ([209.132.183.28]:53642 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727814AbeKPXLX (ORCPT ); Fri, 16 Nov 2018 18:11:23 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F263B5F73A; Fri, 16 Nov 2018 12:59:05 +0000 (UTC) Received: from kamzik.brq.redhat.com (unknown [10.43.2.160]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4B7345D739; Fri, 16 Nov 2018 12:59:01 +0000 (UTC) Date: Fri, 16 Nov 2018 13:58:58 +0100 From: Andrew Jones To: Ahmed Abd El Mawgood Cc: Shuah Khan , Paolo Bonzini , 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 Subject: Re: [PATCH V2] SelfTest: KVM: Drop Asserts for madvise MADV_NOHUGEPAGE failure Message-ID: <20181116125858.yujwx5xkpg2kgyxe@kamzik.brq.redhat.com> References: <20181116115055.7415-1-ahmedsoliman0x666@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181116115055.7415-1-ahmedsoliman0x666@gmail.com> User-Agent: NeoMutt/20180716 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 16 Nov 2018 12:59:06 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 16, 2018 at 01:50:55PM +0200, Ahmed Abd El Mawgood wrote: > 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 > Reviewed-by: Andrew Jones