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 4CCFDC52D7B for ; Wed, 14 Aug 2024 14:23:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 970E96B007B; Wed, 14 Aug 2024 10:23:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 920386B0085; Wed, 14 Aug 2024 10:23:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80FAA6B0088; Wed, 14 Aug 2024 10:23:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 645EF6B007B for ; Wed, 14 Aug 2024 10:23:31 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EDAA4120F94 for ; Wed, 14 Aug 2024 14:23:30 +0000 (UTC) X-FDA: 82451068980.23.F6B0CEE Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf11.hostedemail.com (Postfix) with ESMTP id 0EBA640028 for ; Wed, 14 Aug 2024 14:23:28 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=whiKm74A; spf=pass (imf11.hostedemail.com: domain of 33728ZgYKCIo6so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=33728ZgYKCIo6so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723645373; a=rsa-sha256; cv=none; b=FR5WcyeJGjWD5tREX5CdegRe/xk81YBYYTJbN3lccLN8DoV5cezpqNHjCvSgSOVIGNRLIV undUdKT4zUD1G9qsLe+qS1zIVEjh5zhpKHSG9KeM8k/xl4oWkTNKJ7RX+0akolHgiyDIZK lovoKhQ/qa5zchcF5y+R7oFbtxkePjc= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=whiKm74A; spf=pass (imf11.hostedemail.com: domain of 33728ZgYKCIo6so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=33728ZgYKCIo6so1xqu22uzs.q20zw18B-00y9oqy.25u@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723645373; 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=Lg7Z6HPc6YbnuAyQKf9l4Kwwyg7M7gxKeR8BkfMVjOA=; b=SEE4CgLdiqlEFELIGvBKX2isfr9gghf3MvvCRz9lwdMcug5XXS732Qa8WTCYC4RFX7Mxob zPKGJlbQZr4dcXV873OxFVw9bDbL1DSE3H9EkvSsqx2/N54fRkERNM7eiZYIPE6paviaMB a2hbM6Otk2SMEAQ3mLfWDtszJuyNiYI= Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2cb653cb5e6so6617560a91.2 for ; Wed, 14 Aug 2024 07:23:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1723645407; x=1724250207; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Lg7Z6HPc6YbnuAyQKf9l4Kwwyg7M7gxKeR8BkfMVjOA=; b=whiKm74A3wphZDHJ2ZKA8rtuziKOQ/kfh5T0rdq8WzXw3qCegv33c/th5KiutGBhiq /ZZUInNp6HcLfUPyNaw/OAKzLZVeBypQdRl1fJusn2tGhOIgitNJEd300i4KtCI91bdN ZbjWXGPcblJTm1rmoTvcHmelyvBYdOOSavek/6EPMJSQnxINWNyKRirydqceqVjmGBSU 0qk1NDHTD8Ia7n/ranFnRu6frvelFKaJotNENDpgRGaiwiN/4zs6UdS7XVtDsVg7ENx1 0DCMA+pDZ7u1XJcdY9ZifCp31i3BgH8ZxoXgbNP92+/sCTJdcj/Yl8eLLopaHnTwd0RC 4tdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723645407; x=1724250207; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Lg7Z6HPc6YbnuAyQKf9l4Kwwyg7M7gxKeR8BkfMVjOA=; b=Vn0u4vUGe7YP8vihV7MgxujUHjhs3J7bnsOAhj9egbcUGCbF8/S3mT4kdkNjQ+4+l4 fPh8010h3/JP6BJbFm/dB+nl8yHNd+nfdQQ/vt+gOUyjdWMwBYtfhgZ7+KQJOdTJKm46 30FLsZoUXWExvX7+7zkexbZJkkHFUM4BK/4pIf64wbskCPbxrUxuB34jHyGJnlAZ/uSx 6dnYXlzOPniP+tAgUlRyV9WA0Pmpr76sCCggwDYDLEXz9ZgQrwbAJSho9aQO6T4TqSOK TK54ssLYQiPFJCWJNhZ1s7LXLHLoEdLobKxvhuXLa6T0Ib0xyPbUGz0I+G0pesLPUBm7 d5/g== X-Forwarded-Encrypted: i=1; AJvYcCXeIz5RLuYoNHVEP2Vh5QxPgNx1j4K7QPpA020+k4HKj6npgz7ZgdI9ly4XwtTgLmgJ+/ikBa5qewSGA0k70h6TacU= X-Gm-Message-State: AOJu0YwflLvR7N1hqr+Sndmg3rMTyNUXjC2C703bXNiOMWWsEre7i5yD 8/8O+WoqvxNrAWRH3wfqAABBQU6EmjQoknMXj/ps7tV9kAUelrxcGD6y9hPpWOFz7dYNC43//tU YTQ== X-Google-Smtp-Source: AGHT+IE8K9ernEt/qh7dn+1OHmtOhjlZRg5DWU6KU712b9wel2NvDzCtf+nXpMhkwXka1BX1I745J1ypunQ= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:b10f:b0:2cb:4b7e:ffa3 with SMTP id 98e67ed59e1d1-2d3aaa74a9emr7282a91.1.1723645407394; Wed, 14 Aug 2024 07:23:27 -0700 (PDT) Date: Wed, 14 Aug 2024 07:23:26 -0700 In-Reply-To: <20240814131514.GJ2032816@nvidia.com> Mime-Version: 1.0 References: <20240809160909.1023470-1-peterx@redhat.com> <20240809160909.1023470-11-peterx@redhat.com> <20240814131514.GJ2032816@nvidia.com> Message-ID: Subject: Re: [PATCH 10/19] KVM: Use follow_pfnmap API From: Sean Christopherson To: Jason Gunthorpe Cc: Axel Rasmussen , Peter Xu , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Oscar Salvador , linux-arm-kernel@lists.infradead.org, x86@kernel.org, Will Deacon , Gavin Shan , Paolo Bonzini , Zi Yan , Andrew Morton , Catalin Marinas , Ingo Molnar , Alistair Popple , Borislav Petkov , David Hildenbrand , Thomas Gleixner , kvm@vger.kernel.org, Dave Hansen , Alex Williamson , Yan Zhao Content-Type: text/plain; charset="us-ascii" X-Stat-Signature: a88cxgjmthk4rpieqy6n3eu1czoz6axu X-Rspamd-Queue-Id: 0EBA640028 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723645408-614766 X-HE-Meta: U2FsdGVkX1/zilzO4y7N4tkPu1WBuOUvKhPU1lOwXuYKRoLA3V3Tt6tzoH/10gSg673dGtXEhEAB6Hp3fJR1c7dXDiD1LLgyqQ+TCU/nEaXRTpeYviPUlXmd0oJA4H76qmQ/sY3SzcQkivBKZ0hmvGZ1xB0c01w4yiX1Y6cXr3akpqcvJVc8nsnajlC662EHu2XHIkLmavFo2NesW/y4nFVXvJSEmHJ8oO/IRZqpA9IVyagpkPdNhJu7r0/KeY6H5eAeMt9kuYSDmrIVmpubys4vSU96k6i5SUNJ289JJwNmSbF+73h+e6w89/vepq41jLE1v62LvgEDr7JuKLQIeSKxP/QuKfJ49SHU26JGnKws+kYxNWyGMH/YqrWFO5i+8Jn5sisxYqjueD/tk3PkjbzD0x0OD+vUT7PfrN9lKEF5vACv+F6cexsf1+cfaBl3bpaYGsjfPnbyv5p0klZGLBGd6o0S7ISc8Kyp850IWnLaAIz6arORZ/WQVLWts0Z457/z5Gb6KyecKhocWgC1qSMT87GIj/qAoEYluQgKbXi9epzcO7tlBgzme1wDkjuBGqrcyif/2XSgbzEH6nkVx1S0snfVelOlhycjSq38pjEt09UuK4X1p0+8MDstB0BDhNKTPA4xkkTb7GKuCpJvacnuiEBD/UnLc4y1jrOWQjddBQ/7k6tl2uGruCYqRPmGlSFXd0y2upHyjSC3FEDskal1pSi02uMwtXruhC3CpYFeF54Ih+lpGMrbqHEelhKemTpblNdREpvuiyufLIogPcKTvWu4skPIqKh38eAuo5OdQh0p6o/xYvkYZdhm7niRTNAIcmB+m/hajNu0g8zCnx5aNe+5mU46vuMN/u3Bhk1s20b6elL6HyatflEqhXnypXB8KKsd22NNkVyU26kDDHX/pGK7BdqOVhCF5ADo04gHyu0c+ulrQO1B0WmPMGz1Pe8ywXk/JyCA6nfUPpd PRY08laI 5CBfAeHYeYod+KtsdGItMT8qefDUAfzDEpsc9SRuIuXT40N8AF6mSQvyawNkTmREpBFDHjqFLCwD6TJ+PAvyXoTxTjAicgpH1qgZUu/mMqtJqw3aPCzeAU9hmflLSbsKA8I7pqFYtxfg4oxq37dJdNLPnflyOOCv5YCskoCuih/AnmBxCZ0N/FkhOO+RClPyAJyi1viJeZbOXXBsqGIbN/db1QE1/5qxf+cs7uQNjS/LnizYQQbScfKkeTupnU0EQiKklaHs691ed4XGJ8dYvi6V6omtrGdGnxaLvw2/wDT5HvqAXbM6mChtbDaZRhXzgkVknkpfdyVi6Jvch+75eYdXewS+2oO8iqPsBHbKmmZ0BCxhMOnpcaIdV62xCzKZMOI9cIMrHpiNZcY2NRKc0cWiucnKfS0YYKt8/TkLC9X58rYp+aw+pXKlxThuAg3PDRJgUug66dn3BpywQEga5a35rYRIddZ8v1NohOLme0cwOajbyv80tQCVAnRc5KdBAW797T2sNdXQg/ucXFYDhlkHFCTznRNWVhSlSvt8tentb9t11Sd29sk0E4RKTEkJWRyygiQFxbmREJ3IN4mEx7vHOz6VNeT+RGXzkDZeWfy56e/c= 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: List-Subscribe: List-Unsubscribe: On Wed, Aug 14, 2024, Jason Gunthorpe wrote: > On Mon, Aug 12, 2024 at 04:44:40PM -0700, Sean Christopherson wrote: > > > > > > I don't think it has to be done in this series, but a future > > > > > optimization to consider is having follow_pfnmap just tell the caller > > > > > about the mapping level directly. It already found this information as > > > > > part of its walk. I think there's a possibility to simplify KVM / > > > > > avoid it having to do its own walk again later. > > > > > > > > AFAIU pfnmap isn't special in this case, as we do the "walk pgtable twice" > > > > idea also to a generic page here, so probably not directly relevant to this > > > > patch alone. > > > > Ya. My original hope was that KVM could simply walk the host page tables and get > > whatever PFN+size it found, i.e. that KVM wouldn't care about pfn-mapped versus > > regular pages. That might be feasible after dropping all of KVM's refcounting > > shenanigans[*]? Not sure, haven't thought too much about it, precisely because > > I too think it won't provide any meaningful performance boost. > > The main thing, from my perspective, is that KVM reliably creates 1G > mappings in its table if the VMA has 1G mappings, across all arches > and scenarios. For normal memory and PFNMAP equally. Yes, KVM walks the host page tables for the user virtual address and uses whatever page size it finds, regardless of what the mapping type. > Not returning the size here makes me wonder if that actually happens? It does happen, the idea here was purely to avoid the second page table walk. > Does KVM have another way to know what size entry to create? > > Jason