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 30BA5C83F11 for ; Mon, 28 Aug 2023 18:59:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 98FB78E0029; Mon, 28 Aug 2023 14:59:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 93F688E001E; Mon, 28 Aug 2023 14:59:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7DF828E0029; Mon, 28 Aug 2023 14:59:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 6C8D58E001E for ; Mon, 28 Aug 2023 14:59:17 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 2E1201C9238 for ; Mon, 28 Aug 2023 18:59:17 +0000 (UTC) X-FDA: 81174426354.24.42156D7 Received: from mail-il1-f179.google.com (mail-il1-f179.google.com [209.85.166.179]) by imf14.hostedemail.com (Postfix) with ESMTP id 5B44310002B for ; Mon, 28 Aug 2023 18:59:15 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=joelfernandes.org header.s=google header.b=tutcRQkk; spf=pass (imf14.hostedemail.com: domain of joel@joelfernandes.org designates 209.85.166.179 as permitted sender) smtp.mailfrom=joel@joelfernandes.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693249155; 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=XOayUphw9rbYNSf22YYGNwEHqwC4UHEhlEANqh7uDo0=; b=e4yt0SJD8sWS6hzQ3AkJaxadi1HN+38GsFgOk6zGTBTjWonzxBiXF3mY17QndUDfCcaDfD ie1CE8SHq3esGo68FrqgKQDkHs1/WtST3jcWHPLALsdRlSyUN8vsZbtAGuEQKRpie1363D GDHYuLCugCtQ9xUSzixb6z4vEMJgYUY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693249155; a=rsa-sha256; cv=none; b=P0qkrWIZV9yTqNpwB002sbGfPaXkZBdRVXMMjBkuLBxIg/TrnEZQRWfeRZKOBhHd9mG1eI Olx3CRbxh1+9v1siSzwHXR1tw8fs4yZRtCA4ZJCpviWcGVb5Pm5GwU4Ie+X3J2DLAWyclw 1lt9nKlnhQPn4ZCARVrZbTnHsXTMpGA= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=joelfernandes.org header.s=google header.b=tutcRQkk; spf=pass (imf14.hostedemail.com: domain of joel@joelfernandes.org designates 209.85.166.179 as permitted sender) smtp.mailfrom=joel@joelfernandes.org; dmarc=none Received: by mail-il1-f179.google.com with SMTP id e9e14a558f8ab-34ca192f8feso11681185ab.3 for ; Mon, 28 Aug 2023 11:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; t=1693249154; x=1693853954; 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=XOayUphw9rbYNSf22YYGNwEHqwC4UHEhlEANqh7uDo0=; b=tutcRQkkszGs2rz30qhCqzDMHK1Fv1Cbu+U0xiv7yVDh9UpJdnCNZqzuQrIKQy5BsW 93rV5Fn0MoAIIWfwBWrqIL3acQGhgWuSA9ocdGWWK3z01nLvKv47zoZVozhi9cMbvzOX WlXj8LI8GK8PgGk8CP0cViYlFHoawo3RSWQWs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693249154; x=1693853954; 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=XOayUphw9rbYNSf22YYGNwEHqwC4UHEhlEANqh7uDo0=; b=DreYrEpRvcWX79T9haiwP9l4L56TkLqOGCvuSJurXyzbismuZXN1rvKe4in9YDRihX PZYaKDDmwipmV6l1/pcE5LcCOEwEF+X7Oyl92f2LnmYVdCnBaMba3dCuJSsKN79OMFED XTApJ2o0VcyJcHGkGUk61dnPpW1KWPozDnLrTuLkKOfX8ukh9u/tSGfDSi31T9PVpXg0 OZ2YPO72SfgnVwOKH/h7FydgWSLTtRM750WFVn66QU8JP9/iRozECefQhidGE5ehch9O 2QtObjledW4hnGgo2T2YinTltr2EUv9LexXjRgivZmnjTy72Meh52lg37QHOoPZtEWel CP/Q== X-Gm-Message-State: AOJu0YwTV6FQfe9FiG9TCl5X/juhzSqo5kQfRtJCpQYSHBh6cfczw8Kr BcX5hChxQrvAT1f/WgNmrBhYwA== X-Google-Smtp-Source: AGHT+IEisyycO3POm2i80EtJIXlOwXcfn9iugZNdRMdhUFEp8AluNkfyKgouYOqpSK7cSrTi9P/vkw== X-Received: by 2002:a92:607:0:b0:34c:fed8:8df2 with SMTP id x7-20020a920607000000b0034cfed88df2mr3603955ilg.21.1693249154409; Mon, 28 Aug 2023 11:59:14 -0700 (PDT) Received: from localhost (74.120.171.34.bc.googleusercontent.com. [34.171.120.74]) by smtp.gmail.com with ESMTPSA id u13-20020a02cbcd000000b0042b4b55f46fsm2553131jaq.117.2023.08.28.11.59.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Aug 2023 11:59:13 -0700 (PDT) Date: Mon, 28 Aug 2023 18:59:12 +0000 From: Joel Fernandes To: Lorenzo Stoakes 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 6/7] selftests: mm: Add a test for remapping within a range Message-ID: <20230828185912.GD1621761@google.com> References: <20230822015501.791637-1-joel@joelfernandes.org> <20230822015501.791637-7-joel@joelfernandes.org> <08ce8c61-e7a2-417a-a3cc-d20861753ae8@lucifer.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 5B44310002B X-Rspam-User: X-Stat-Signature: tpuffwyxcikowucpxsyooq463b4hnegb X-Rspamd-Server: rspam03 X-HE-Tag: 1693249155-273346 X-HE-Meta: U2FsdGVkX1/WnHDki/9TQd5NngGirvHSQ4B5FOM79KrtqkMnEEST9/vpIM1SJBtn3YX8xLTbcXohb7o7QmG1zdzBKa9C5EXIVZvpbEQQyEUCNjyf0h+VkS5md6NJpMUnD8S9r9Ip+WhLLz5gK3KGmRKQ9KoEG+y3EG9stVAHSTgnd+6PDXyiZKaSdoRSCt/uLvrPvVlNKe1ccGNf80unc3yqWQPHwD3G6Muu3j4BvjReUSrx4oUYvIdk3vekTVTfMhuUZCeVQjnHoukgbPStPOAunB5Iws1JML2qOzpmommtCxl2ppy4LqvxnkJq6NOFhBXW2isoOPmCZCGLFdlUz/YEo68lsu8pQHFP9B6PYrNiuUb2Vmo0tfzt6/uPqSwzGRlBZZUNIFX/UX3fbeIqIPSs3YhjUc3rmie0+FvXToNqT+wDKK+V8CpjRRrrJlIRrv2o6jmJ/N9bOeYG1u4qGhJxIobhwsaOTbrN4l/s+QbbmzHpVK4O3TFaVp74I9XmP4AB1NZXvEUl7t+CjCxXzk0fjbzbSgrNeD/2CdPyq9k1sqN42v9xOok+va2mrqRABwKPC0YxRfgeN+O9fmWApo2o+MCR0GllybMjYrg8x5mZYbJQGqDcjAGslE84qn+88OK7yeKbpsMzvCO/2CBiZEXlN/WpTgknYPtZbm+2G975vJsGIOVCHE/j3nPJV+wk54vnM4am4JO4RHt2Q1g9OImtFaRMjrYF5KFUYcs51Er+ubMYiXZjcoaE/WyiKNrG3MMttcD/5P10v9T7CDrM65RPqsQM3pfFL8/+Jd0TXaqT3+aC80SkQFoft7Qn4dhSl9gOEuNvdiOLIg1oFbl/2ToWSCk2bg2EAM+rvxMpmAIO3IqJldPfYrVwoA2k64z/X5Tgu317w0+N4h6412NNQBI/Y7sobcHV212AAJylBZreMQnlcb6aYVMuTngJAndkOpiOfjRmD+rcHEQ7A/z 1lOfsrbR vJL8vnl1rtob0F+caRNWsXtBB0s1WinPdNfTlv1/OTRYi0uXl8vAkDSGk9WyUfZPxQnEIIMRAg/PMjn8+KPnPN2pBDn2jbhAKGPTfNF4JJ2DWpFNyM8HevXxH2P2jSe451xzvhNiadtuKO5a0YA905tq8Jh311BC5Yzbl6RiBGI5b/9y8eOdh3xDnFmvjlmMO9Ddkh+fXiHMuNGZ64ZNJYY6sqOtu5pKP2wAma3binejeRwntCS7DyLRjEOJR1YhUaPBC72eWTHb2hK107c9+bwMchboVhkW0IxSknOQ5hZsXKwXOByL0TuI27nFGjEULK74FRZw6AQWb47fTmxVZya6X4sD0j8kTZYw8YEgXOfd/RCYfrDYbN1AmKx4xdi6Gh0Dl 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 Sun, Aug 27, 2023 at 11:15:20AM +0100, Lorenzo Stoakes wrote: > On Sun, Aug 27, 2023 at 10:57:59AM +0100, Lorenzo Stoakes wrote: > [snip] > > > > +/* > > > + * Verify that an mremap within a range does not cause corruption > > > + * of unrelated part of range. > > > + * > > > + * Consider the following range which is 2MB aligned and is > > > + * a part of a larger 10MB range which is not shown. Each > > > + * character is 256KB below making the source and destination > > Just noticed, I think you misspeak here, as this test doens't seem to > offset by 256 KiB? That is the strategy for mremap_move_1mb_from_start() > rather than this test so perhaps comment needs to be moved around? > > * 2MB each. The lower case letters are moved (s to d) and the > * upper case letters are not moved. The below test verifies > * that the upper case S letters are not corrupted by the > * adjacent mremap. > * > * |DDDDddddSSSSssss| > */ > static void mremap_move_within_range(char pattern_seed) Here we are moving 1MB within a 4MB zone of a large mapping. Each character 's' or 'd' is 256KB. The 256KB there is just for illustration and not really significant as such. The 'ssss' is moved to 'dddd' 1MB each. Here we make sure that this move did not accidentally corrupt 'SSSS' and 'DDDD' due to alignment optimization. Basically to protect from this, we check in the code that the source address is beginning of the VMA: + if (vma->vm_start != addr_to_align) + return false; But you did point an issue which is I need to change the comment from 'larger 10MB' to 'larger 20MB'. In the mremap_move_1mb_from_start() test, I request for an alignment of 1.25MB so that when I align down, I fall no mapping. This is to catch a bug that Linus found which is that just because an aligned down address did not fall on a mapping, that doesn't mean we can just move it at PMD-level otherwise we destroy the mapping. I do need to update the test name in mremap_move_1mb_from_start() to: "mremap move 1mb from start at 1MB+256KB aligned src". So thanks for point this! Would that sort it out or is there still something in the comment I am missing? Thanks! - Joel > > [snip]