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 9534EC46CD2 for ; Wed, 31 Jan 2024 01:07:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF4AE6B0075; Tue, 30 Jan 2024 20:07:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DA3BE6B0078; Tue, 30 Jan 2024 20:07:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C6BA06B007D; Tue, 30 Jan 2024 20:07:07 -0500 (EST) 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 B9A316B0075 for ; Tue, 30 Jan 2024 20:07:07 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5EF05A21A4 for ; Wed, 31 Jan 2024 01:07:07 +0000 (UTC) X-FDA: 81737817294.21.5557C15 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by imf04.hostedemail.com (Postfix) with ESMTP id 5961440008 for ; Wed, 31 Jan 2024 01:07:05 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b="HqNc/ULy"; dmarc=none; spf=pass (imf04.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.215.179 as permitted sender) smtp.mailfrom=charlie@rivosinc.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706663225; 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:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=kpHLBVSDtt2Vi3PB1+vKZ4waG/FnYqHyoq4gGiKTKkU=; b=VPYD9K50s/UAbkc9lCqwp/BvHvIA1LtYCUSMnqGicxh8JWFoU6EoOXtqzgorvuaX5Yc84M KipG4juEL5XwfCMvAJqqah3mD/KzyGoiJCWoUBbirESxW/sqpPl87Y99hseP2AtRm96Z4c FQaALTDM+5P1DIeoUXQor9Dc50tVSTE= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b="HqNc/ULy"; dmarc=none; spf=pass (imf04.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.215.179 as permitted sender) smtp.mailfrom=charlie@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706663225; a=rsa-sha256; cv=none; b=WBf4qSCVrz3wYfI2Dp61G4G1tmbYSS8Bw8DF2kdZ72x2aQR1kBN5QeF1NUCQDSXn+ijLzH siyR/cIJKVJDTHRWjPv96OYfVZq4JpHQNquCl9370aQ3IcDbGv6l8ceR85lG9OA6H+/xrd qta6STls2wjxxU/pcOXGMXGZcCPDiCI= Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-5dbd519bde6so572949a12.1 for ; Tue, 30 Jan 2024 17:07:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1706663224; x=1707268024; darn=kvack.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=kpHLBVSDtt2Vi3PB1+vKZ4waG/FnYqHyoq4gGiKTKkU=; b=HqNc/ULyUva9ip9NjrItZ1lLgondmYQqkbN55MgSXxAjX9RSOySyU75nTWUL+BYfP4 Vpa5WJsqxulG4GZ08LZAnaaYHFEDozm1BoY0+sao94nAb0glH1bWc04dJ8g7rLvG92Ex JzypPsVRqupGmxL4+X6/L0g4VmPRJfNHeCSS0BBTQM1XaoOLH+52ZqZ7FYO2Fyh6RTIc CJGRzXknexqzLQKrOPONQ6XFegx+3y7txKDVwPahEUM89MdeqSMmzeFVWlIgOvhqVJqu C9+q9bMnXMIeDZ0wcZLK1logIEEQgLlSZMZ8SI5i+dcNmHTBie4EHl2zBh+trClprOVw lvWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706663224; x=1707268024; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kpHLBVSDtt2Vi3PB1+vKZ4waG/FnYqHyoq4gGiKTKkU=; b=H9w06mXs3esPr6xMVxat3v6bXq81tgMqlJ2s1GwM/+nKO4q1YoYEbYGgltzyv2KcZT iYCrU2Y4kKIXmD5vOS4GtqFVMlrC02hFkwJohqwaEAxgpPpju0i1tCsZ7dRxbyaf3+kV 9B6G4tr+FMA4hy9w1EziAJ5r/ROfkCx4k2NaklpsYbceingYvU8ZyB6WLRABubcKji4+ RC03GeF1lydgWve8YpXrrXtMegYFO4zEEVaeG8K9Iq+W8FGFLWRrh+W1MeBMpSvyJIAG uE0yJT0nljTMMPGk6l+B9PzhISihfcvysE5gMkfJiMBoYOS4b5HdZIgGzsN5izH/4y7M fKlQ== X-Gm-Message-State: AOJu0YyQVHnR0fMjtutwZQo4fF3tD98bhPp6oX/bkVIhlHg7vbuGmd2t J/O4ejaU+vXNVty5U4/9ZHfT7y5+Ry29jNDCD7ew9pjUbW5hkp4KGtcJWONfHY0= X-Google-Smtp-Source: AGHT+IEledlNCHKmoKtfP+m1/NFojyVfcYEBlPa2pMEEwNPBKFgNLr0k77Wiitvd/LQG/pfBvXvaYA== X-Received: by 2002:a05:6a20:da88:b0:19c:912f:1cfb with SMTP id iy8-20020a056a20da8800b0019c912f1cfbmr162474pzb.12.1706663224274; Tue, 30 Jan 2024 17:07:04 -0800 (PST) Received: from charlie.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id r12-20020a170903410c00b001d8d3c276c4sm4970822pld.35.2024.01.30.17.07.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 17:07:03 -0800 (PST) From: Charlie Jenkins Subject: [PATCH v3 0/3] riscv: mm: Extend mappable memory up to hint address Date: Tue, 30 Jan 2024 17:06:59 -0800 Message-Id: <20240130-use_mmap_hint_address-v3-0-8a655cfa8bcb@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIADOduWUC/3XOywrCMBAF0F+RrI1kklitK/9DpOQxsbPog0SDI v13U3GhQpd3YM69T5YwEiZ2WD1ZxEyJhr4EtV4x15r+gpx8yUwKqQVAzW8Jm64zY9NSf22M9xF T4qEO2oKtwjYAK79jxED3t3s6l9xSug7x8a7JMF8/opQLYgYOvKqcxf0u6LrCY6Q8JOrdxg3d3 PEB6mVAcO122ps9KGvgF5hXZfm1RIklSBYoKI02eKXEVv1B0zS9AI1VQNFHAQAA To: Alexandre Ghiti , Paul Walmsley , Palmer Dabbelt , Albert Ou , Shuah Khan , Jonathan Corbet , Yangyu Chen Cc: linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Charlie Jenkins X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1706663222; l=2312; i=charlie@rivosinc.com; s=20231120; h=from:subject:message-id; bh=IbDUWk3KxJHGN3bPvPRSRgWjaoDgesrJOCG1kQ+QJ3I=; b=H2X+ZfEVZflQSr9sjSg75daZSBI4yo2Pp8YPZpTe6aqFR2nngVSjlVIm7BQM+Qe5pBNX4XkvY yrAhS+qz6eYBkMnzptrEfefikKErPddkr3rg0SrfPuiuPLi7+jspFb9 X-Developer-Key: i=charlie@rivosinc.com; a=ed25519; pk=t4RSWpMV1q5lf/NWIeR9z58bcje60/dbtxxmoSfBEcs= X-Rspamd-Queue-Id: 5961440008 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: qw9oets6s9pr3kzcosm8kjxuzwyfayap X-HE-Tag: 1706663225-863734 X-HE-Meta: U2FsdGVkX1/vmIDxkXO1OGBdxiixd8pnn/VAWyOjTBTfCdmXzeTs6hf/UUGRyNaVXh9ivAzGBq64DbcAdkz2TbD6grCHOClvBJLfs/Okm+5d59ogw92md5VlzqNZjG818TZ+EMz+xYawUlF6BrOB0dxEbDlcz4/g8krS2Jg5QuRaB2PsagWHzFEopSRzqxLYeEw1oY15e1pPZ8U6cz+YOreha7wJMMEoYctkbNKG75CVzSm8Io4InCyW5DetJDLfhdjDzjw4QGjBqysGCSB4JwwMWSUKe1Yve9ND+zEF0DoNfTCuzbO28wGM96smU6cowgbLK7mAkhxVs6j7noNZOJM3oz5et09JU8zBbQ50+WjG44Zx7fX4VDSRE815nWxpE599yTSpM7QXeSUWtjIfynaUCXHfI67AjUVPzKyORgvP/9q5ajP7CXjw2b5CDG9DGYxO/XR/k98pesPvqu2yn3HmQFPhyFjPyZ4uEQqYw7orSCXe/h5zg2RBABh3Q7VKznp6qFKvC+qNs+/ZYcuN1RRNVQe+6b5sd2btIKtfXVpngBzR2I5m6U4saVa27/n+q4EESX9Se8clQ060gibKbzycz0Q6v0gMhmyOYFqJ/WYCfOL7r5SC1iAKsek31qdVYrmTurmqtD5kmJ6BnzsrBmfhsxk1Dyyq60b4mwCKLv5oY0tAYesizPTFoCxwDGoX+zn9vxXIgo/BL71F97jvKltv9HanVohFBFB7HHL6tDdWr9QnX32aPUtLfUueCsUnv9taz3dr6mJ2oxxv52ZLq69aOgWw+YnYIR7jzfM2iUnO5MgkeeoFibSV+LJT39t97V6bHt9Rt01AacA8sRN5dsyiNex9L9RlUG4pvaepgpsrmFjqxtZfkSJXQNelfY9U6LYEIrqNTOtiEnIlySXVrqrLCgTBIhzgB5K/3nwDgfGxgtag5nBgAZOt6VSac9C0wk5D/a2e0Ql4SvyuJ62 eJ1OZPaH Izz8+RyWsUtUwhwBTAQN6w0WvDzqDwg+/km1XbWzr3euSKlaiY43CZPLuWPqz/FK1ivHLT1mzJbXFw8QAwliIxTl4m7DtSxGTCnYcQFFdyh9Ff0V4LTF7LREV0NFK71RFeJqKqe79Ns4qslvqvR8wnCF5l22fxr936foeXwaVz1zGl7sVjGIF5A2IhR86Bm56qEdxLhopgtEH4A4K4K1n1M9dg0B6cN6ZTOViG/R7jfHnoo1xUWFMSohrfb6gGQYY/IH6jpRmTOQLnq4Fw3cnXpCZgmjC7Q92RZYhgZogI2NEu7wFfySt4ZYQax6eXIYGsaZU3I15rThkbx2Mkfa0NytV+mUupY33RPkIlotWtFg2KbHAhcVdLL1cB0bVTFEh2miuP8h5DG2sn4oA171QWp7TZ6iTOyskOx0qI/s6RVculsrhyuWVJifsiD/N8b/58AYM8cvl+6aAMGpBqkhUfZcL7HuVJbTMowfOJ6OCN35FlramsdMgS/W1gD/ICN3bHx44V2pX0X8LYhs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.247277, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On riscv, mmap currently returns an address from the largest address space that can fit entirely inside of the hint address. This makes it such that the hint address is almost never returned. This patch raises the mappable area up to and including the hint address. This allows mmap to often return the hint address, which allows a performance improvement over searching for a valid address as well as making the behavior more similar to other architectures. Note that a previous patch introduced stronger semantics compared to other architectures for riscv mmap. On riscv, mmap will not use bits in the upper bits of the virtual address depending on the hint address. On other architectures, a random address is returned in the address space requested. On all architectures the hint address will be returned if it is available. This allows riscv applications to configure how many bits in the virtual address should be left empty. This has the two benefits of being able to request address spaces that are smaller than the default and doesn't require the application to know the page table layout of riscv. Signed-off-by: Charlie Jenkins --- Changes in v3: - Add back forgotten semi-colon - Fix test cases - Add support for rv32 - Change cover letter name so it's not the same as patch 1 - Link to v2: https://lore.kernel.org/r/20240130-use_mmap_hint_address-v2-0-f34ebfd33053@rivosinc.com Changes in v2: - Add back forgotten "mmap_end = STACK_TOP_MAX" - Link to v1: https://lore.kernel.org/r/20240129-use_mmap_hint_address-v1-0-4c74da813ba1@rivosinc.com --- Charlie Jenkins (3): riscv: mm: Use hint address in mmap if available selftests: riscv: Generalize mm selftests docs: riscv: Define behavior of mmap Documentation/arch/riscv/vm-layout.rst | 16 ++-- arch/riscv/include/asm/processor.h | 27 +++--- tools/testing/selftests/riscv/mm/mmap_bottomup.c | 23 +---- tools/testing/selftests/riscv/mm/mmap_default.c | 23 +---- tools/testing/selftests/riscv/mm/mmap_test.h | 107 ++++++++++++++--------- 5 files changed, 83 insertions(+), 113 deletions(-) --- base-commit: 556e2d17cae620d549c5474b1ece053430cd50bc change-id: 20240119-use_mmap_hint_address-f9f4b1b6f5f1 -- - Charlie