From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A64F8C83F01 for ; Sun, 27 Aug 2023 09:36:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9397B900005; Sun, 27 Aug 2023 05:36:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8E9A7900002; Sun, 27 Aug 2023 05:36:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7B132900005; Sun, 27 Aug 2023 05:36:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6A94C900002 for ; Sun, 27 Aug 2023 05:36:06 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 38E7E16018D for ; Sun, 27 Aug 2023 09:36:06 +0000 (UTC) X-FDA: 81169378332.19.CD1C76D Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by imf29.hostedemail.com (Postfix) with ESMTP id 5C212120003 for ; Sun, 27 Aug 2023 09:36:04 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Hvd0U2tv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693128964; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fyYjmY98zomYavB/RlCzc0eyVUey0K4QOLVItcmvGAc=; b=CUcoDmtdbJOq7pBkZ8mp9cYCp4fk9ZRdrS/8ihRNypeDptihaaiFDl5azkrgOc1LTtkkSN bh6alaGmxKIt6PmlIiBorwtAYvUuu4zRhDU47DdvLHCaLY10GqZ8cl/cEdH17CTdiiwUzu wE5ybNwa/hTUPJ2gpL/krWAsgFNirUg= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Hvd0U2tv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693128964; a=rsa-sha256; cv=none; b=yoGuJ4qaUaabTr8erFwmg+KYHx3ZtoYjNH/Jotvj02mOCMYq2eXE2Vvgox1NtNgdWPXCgS DYqT4/+dmPokb8+M1zqszpgERcn8yKmGLiuNEfIoyDCKPVkQZD5atmLuZ/rCWzvk/J9BuP XHKSgaIWl7so6F7MAO3yvIq5H5LcSMw= Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-307d20548adso1843006f8f.0 for ; Sun, 27 Aug 2023 02:36:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693128963; x=1693733763; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=fyYjmY98zomYavB/RlCzc0eyVUey0K4QOLVItcmvGAc=; b=Hvd0U2tvPIpgsz9Xf3eRylrJ25hItwSoK9O54JcTOFINLLgSA11Kt2K1sOAEFOg01/ NkIHTVUJ6JTXbfRkr/M1qMIkCY3u0ehM90Xg1ZiSrjaM44kSK3weoqDBRRu4HrN4qR4h ZjbqlG2Qo8ey9kJXtCPHdv68aP2dkTPgKEatQ/xNZGzeYIlbasBggK0UlO0CCw+xsbBQ XCuN3HPspRtJQ70GPiLi+GyvL/JjFDfS/vtpPABISMNAzpsrLYFCWdNQS0P4KkhAOR54 9QqCRYFYgdZOqUYTTJ6rRj+49VgkqmbN3RchLlenCAuQW06FBU6CqLk5nD3FPC5sD6xM fPYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693128963; x=1693733763; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fyYjmY98zomYavB/RlCzc0eyVUey0K4QOLVItcmvGAc=; b=AOr0vjm4ybkF6iy7CRbr/82cuv4vJ5CtmhIDE+MmHjoJ79t6O9X3Qvpb7R/nA4Iui1 MelfizxN1CoAwhv+M9D/MBhbqUAFElL0QP3Nvu9/Sn4d8MX4RNJeJI0/bVWgOJjF2e7U oDSjQjCtRgQEVMVjMzI7i6tSG27QvxzIIefrr1KHPnQKhuYy9vjKs53uRw3Qy/JjeFs+ Yc5YKr97UHNxqPRfpUASMZ0U8UgZvZaiNTznQOeShJ9tP6Z5B3q3zxyKSefh7spU4IBM 9H4dB1c6j29VTpYUufkiYFcl6vj7Kx+fXHXPJECKzYsMoXM0qVOebC/ltr1raTamZQmf o/GA== X-Gm-Message-State: AOJu0YwX7uWbJHEV4jtBF4zkNUZprZ9d6+7WAfQryqWGvRKMWHXOPgkT dPenIbQS8razShx407FYrkk= X-Google-Smtp-Source: AGHT+IEMWxi1eDxTy9m+kQuSIMn7V0I0RfSF7wi6LfJdtyy6Sa1BJ78Dz5FU+zo3YLeY8TIeZucwHg== X-Received: by 2002:a5d:684b:0:b0:317:597b:9f92 with SMTP id o11-20020a5d684b000000b00317597b9f92mr17146099wrw.57.1693128962699; Sun, 27 Aug 2023 02:36:02 -0700 (PDT) Received: from localhost ([2a00:23c5:dc8c:8701:1663:9a35:5a7b:1d76]) by smtp.gmail.com with ESMTPSA id e8-20020a5d5948000000b003143add4396sm7083184wri.22.2023.08.27.02.36.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Aug 2023 02:36:01 -0700 (PDT) Date: Sun, 27 Aug 2023 10:36:00 +0100 From: Lorenzo Stoakes To: "Joel Fernandes (Google)" Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, Shuah Khan , Vlastimil Babka , Michal Hocko , Linus Torvalds , Kirill A Shutemov , "Liam R. Howlett" , "Paul E. McKenney" , Suren Baghdasaryan , Kalesh Singh , Lokesh Gidra Subject: Re: [PATCH v5 4/7] selftests: mm: Add a test for mutually aligned moves > PMD size Message-ID: References: <20230822015501.791637-1-joel@joelfernandes.org> <20230822015501.791637-5-joel@joelfernandes.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230822015501.791637-5-joel@joelfernandes.org> X-Rspamd-Queue-Id: 5C212120003 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: ri3mrotnhehdr67c4kyx86oeec66dzk4 X-HE-Tag: 1693128964-238425 X-HE-Meta: U2FsdGVkX1/AMPZUPFeviVdO//GofrJ6uBZIZWKhfOyl8yNhmsPOsxdP4AgCdO/7Pd8obg4I1uS/hThhKvz8ziWtI+CNJAlax1jJBvwlYpI2cgEZTQm9MgNjKRVrCxx21VfJF2hPDhNGyALrF3fePoiZnbTcf0hb/W8mEfX1ZG6MR/2cHqk25FxucpCCQBVyZlYUoU3tBmBMRfeyAUVEbEgqCH3nnMu8jKrwDDuZRHTy4AOz8EdOGmmKZKcLoBd5hR/pZ+ysvyaREjfqrNROr56MAErgB+iugBFGN7LSJvMHG2nbQNER0Arrwa91Ccda5na4n/S4ZHI+OeU4hsIDVH2iKuh+dntgpKcOOxPdmmVJDmwxX4ojh0KFO1Vfl8bbKahIHVYmbGkQhVA2diU2DX1qe7eoa/iR2zWDqIbxtK+irTn/gg+94HVbPI6tP4l9xQBuViiZxu34VpkqkRgihv4ESLs+m2atAkCkX9fMpV2nDTfT5belE2VmI53lue6j5OhR8TTq76CnvxQI6dRCgZ5npLOfMzcwPW4ZPy9p72Cf1yMuecSxzfpB9U4oBZQ/TsFr6P4XY2LL/5msX8ur1roQG7OTgVSPx9bBSlRk+usguLt9FcR6M2kpC/AIGVxKPBxcDbe2GclJN1Reto5PEnMe4Y5kOKFsi8En0utNQoWhijOYzBZx4h3gg0EDNHVL88NWtGbFCb9k5lmyLqVvJgdFjsl+ufitsXZ8GrRG9HuUBJmrM7QbPC9Yqwip7zmdxzZe0wQ67UEUMtgSSwUK5mL6AHpNTh4fX7sBn2xKnseqibBKPXtBQUBUTOiZcIkkvTFxLDuE01/4vQ90lNw9O/JPvpZOd4PMqiMt00iXN+CyrGEznFLLoeyBppXcRVO3X6dxFCggHawBsmFtuZGrdEe9RnTeFb/m4VOsdX9bbMJSOQ/F4+VGolp+1VCrllZeVWb3rVFNQA1oCWu+Qem o9mnfzg6 s2KzjUt+eboVEZEycjL+yBCghseZnz0B10FdZHggH+dZ1hIFl4gspqgn3vsiDcJwtH3PCagILwxcM6XyMJ5mqJa8n6Mb7iZj0Vc2vUfyCT3L5ZuzShVIW/VxTT8WrYPwpvo/JMZ72uLZpW60vRdK7GKZ6sr8r5ckP6bP2fR6ZgotdRUzaW+MYSdixzwLL6xuLFKa9/btHD1ahlfZ1FobFbcWrkRpmBET9aZ4hyARJwZnZSPuwBasaTLZXONdY8+dZjve6QAw6UzwPtmCX57bXS7sDuTQQasbFHG+o6hFbZVobZGz0nttkI1bsduAbfEZO2zMyiARqq62KDklRMUaGq8ULSttfOJXn6H09SCXTDppuCE2pXGB1JIcfAM2kA+Sxb18j1i6/4fZ0dY6vNXVVt99Z+FmL7da9ZXV+vyIDe37PYJcTkYq5lq5mU4fAhB+Lz6t5urQaUQAlDVBAaeoI0ECSZcn3gKbs1nmn X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Aug 22, 2023 at 01:54:57AM +0000, Joel Fernandes (Google) wrote: > This patch adds a test case to check if a PMD-alignment optimization > successfully happens. > > I add support to make sure there is some room before the source mapping, > otherwise the optimization to trigger PMD-aligned move will be disabled > as the kernel will detect that a mapping before the source exists and > such optimization becomes impossible. > > Signed-off-by: Joel Fernandes (Google) > --- > tools/testing/selftests/mm/mremap_test.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/mm/mremap_test.c b/tools/testing/selftests/mm/mremap_test.c > index 6822d657f589..6304eb0947a3 100644 > --- a/tools/testing/selftests/mm/mremap_test.c > +++ b/tools/testing/selftests/mm/mremap_test.c > @@ -44,6 +44,7 @@ enum { > _1MB = 1ULL << 20, > _2MB = 2ULL << 20, > _4MB = 4ULL << 20, > + _5MB = 5ULL << 20, > _1GB = 1ULL << 30, > _2GB = 2ULL << 30, > PMD = _2MB, > @@ -235,6 +236,11 @@ static void *get_source_mapping(struct config c) > unsigned long long mmap_min_addr; > > mmap_min_addr = get_mmap_min_addr(); > + /* > + * For some tests, we need to not have any mappings below the > + * source mapping. Add some headroom to mmap_min_addr for this. > + */ > + mmap_min_addr += 10 * _4MB; To be super nitty, you _in theory_ can't necessarily rely on arbitrary VAs being available even ones at a location that is the very opposite of where mappings will go by default. I guess the _ideal_ solution would be to PROT_NONE map a range to ensure it's there then munmap() bits you don't want to exist, but that'd involve reworking this whole test and yeah, not worth it. > > retry: > addr += c.src_alignment; > @@ -434,7 +440,7 @@ static int parse_args(int argc, char **argv, unsigned int *threshold_mb, > return 0; > } > > -#define MAX_TEST 13 > +#define MAX_TEST 14 > #define MAX_PERF_TEST 3 > int main(int argc, char **argv) > { > @@ -500,6 +506,10 @@ int main(int argc, char **argv) > test_cases[12] = MAKE_TEST(PUD, PUD, _2GB, NON_OVERLAPPING, EXPECT_SUCCESS, > "2GB mremap - Source PUD-aligned, Destination PUD-aligned"); > > + /* Src and Dest addr 1MB aligned. 5MB mremap. */ > + test_cases[13] = MAKE_TEST(_1MB, _1MB, _5MB, NON_OVERLAPPING, EXPECT_SUCCESS, > + "5MB mremap - Source 1MB-aligned, Destination 1MB-aligned"); > + > perf_test_cases[0] = MAKE_TEST(page_size, page_size, _1GB, NON_OVERLAPPING, EXPECT_SUCCESS, > "1GB mremap - Source PTE-aligned, Destination PTE-aligned"); > /* > -- > 2.42.0.rc1.204.g551eb34607-goog > Reviewed-by: Lorenzo Stoakes