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 291ADC52D7B for ; Tue, 13 Aug 2024 21:41:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC1856B0085; Tue, 13 Aug 2024 17:41:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A72156B0088; Tue, 13 Aug 2024 17:41:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9394C6B0089; Tue, 13 Aug 2024 17:41:35 -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 746C06B0085 for ; Tue, 13 Aug 2024 17:41:35 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E5A29120AE6 for ; Tue, 13 Aug 2024 21:41:34 +0000 (UTC) X-FDA: 82448544108.15.10D0AF7 Received: from mail-ua1-f50.google.com (mail-ua1-f50.google.com [209.85.222.50]) by imf18.hostedemail.com (Postfix) with ESMTP id 169971C0008 for ; Tue, 13 Aug 2024 21:41:32 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=0xX0Shfn; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of yuzhao@google.com designates 209.85.222.50 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723585240; a=rsa-sha256; cv=none; b=UOSghAhlccqZoDJ4dQxBY07VvKOuE1+ms06xXosLBItSrdVqiXRujDP/3qJRsm4VA5Bt4B A1D5D8s5kYZTGaOkl5URXA9TnbSP2WNBc4ghQiVq7xH0fgFHETC9pI3pcLQdmFvi9c+40E 7egZGpzNa+ktOTWJzC2X9bN0RkdeP4A= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=0xX0Shfn; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf18.hostedemail.com: domain of yuzhao@google.com designates 209.85.222.50 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723585240; 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:in-reply-to:references:references:dkim-signature; bh=DNKxyCD3sL9Pw4tETI2CMJBPkS8nM7pR4jRQHwUDzl0=; b=qHV2mz+ZcC3xkKq3AohV7X/4mGTWQ4sTl4amYISsm4WIXGNhKSmtW6i4RxbcMQv1aDiKRg UJS5VXitMt6dV6wL44PYlnpC3WQHPxstJOUPdugkQEC8W7ebipuoYRk1pZa/zwxL066nkp CWGx1B+crE8lrfblbgqsJDxaqj63fqE= Received: by mail-ua1-f50.google.com with SMTP id a1e0cc1a2514c-8333a5dc765so1937163241.0 for ; Tue, 13 Aug 2024 14:41:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1723585292; x=1724190092; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=DNKxyCD3sL9Pw4tETI2CMJBPkS8nM7pR4jRQHwUDzl0=; b=0xX0ShfnsLds2wRqA85AJY2vLwSONCufbk2kb2ndeoI1PTG0Gx4PMBYFXlXVOION/i 0e4Sahyjx/PK/45cZuYJiTzSACQ3mUMuGxgD0+basWUvdLLMWb3bxLJh/dgmYcJ5M+Q+ wZ7P62+yFwG+wQhsQLEdiwvphjwBBykygABzzZgk8wvtrSccx35LtjYIy9ORHwBL0+50 wkz0PESfnY9bUp5B7m6FLXE0eIeZAiQc4j/sxrzHkxj6is/PPyc9SWtxLQDYRHzURO5T uphDdkG0GNQi6JfxOwDkj41z+mZ2Oh+XAiKOBGzE3DERbt3wpntrz42coL72+HlpBouc OEbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723585292; x=1724190092; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DNKxyCD3sL9Pw4tETI2CMJBPkS8nM7pR4jRQHwUDzl0=; b=RVNPaybH12M/s6P5FatyCLj1/Bnl7Hfq8E+ui4NHNEKN5uV9AMDJpWnUm5q6C+WnbJ ln6f4cVRI9ct2QsTZFBgr14oUu21UhtxsyKkr9FmiL4ZboBCAsuCl40mkx3W+lTW/PiL 2dbqUmtgB9dVGjnrYwvoAWcMtEM+Z0qQ1FOli4CjC27R+y1wZ4sxX+Wf0+kaAzt+T5EM P/v7lBkji6cksda39fsz04N6Oyl7rbWKQhsPpuh7Xat9UXm26FNw4N/X1RKs+DQiqCYQ T2XhVV0WVN3oEdhIfcMey6+atoDEtl9fQYD0G/BDNz+hN25VqaveeAfKVYVBy+rIuAMR nL0Q== X-Forwarded-Encrypted: i=1; AJvYcCXSifW3IqL6JNl6OAJRMsHI+5Bqm0HNGTR6dn/9rlvbVBvGXI8nV/bDXMaC4TyVffqBXxVZNo7hm6sT94GPcl6h/D4= X-Gm-Message-State: AOJu0Yz8KQ11C6oZfRq1cLQZfhdbTL+ZhDHH/DF5dJQK/t6/qmhBDu/S gPsxbqcAxIaDY3C2xok7ZeofMrjsX/gNGryGtRDO/JEOgj2ciPoO4uvrznAxF+EdtPVpwFVEsRp YqvAOQZB0XQ3aILTRCrlUl6A2Y6t/xpdFgI8g X-Google-Smtp-Source: AGHT+IFfSvp9hKL/DBf+nQtcz5Qrf9LVeKWTmO/Ig+c7saqhe3JpHcjhAdhxNl48Tm/dhwF7GKWKraao4Zus39qM5iI= X-Received: by 2002:a05:6122:2524:b0:4f5:199b:2a61 with SMTP id 71dfb90a1353d-4fad23165a6mr1197419e0c.9.1723585291776; Tue, 13 Aug 2024 14:41:31 -0700 (PDT) MIME-Version: 1.0 References: <20240812224823.3914837-1-yuzhao@google.com> <20240813140007.2459882ce674b45ecf1403f7@linux-foundation.org> In-Reply-To: <20240813140007.2459882ce674b45ecf1403f7@linux-foundation.org> From: Yu Zhao Date: Tue, 13 Aug 2024 15:40:53 -0600 Message-ID: Subject: Re: [PATCH mm-unstable v2] mm/hugetlb_vmemmap: batch HVO work when demoting To: Andrew Morton Cc: Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 169971C0008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: snd68hf88mna8yp8d3xgcwmrywhct8xg X-HE-Tag: 1723585292-120955 X-HE-Meta: U2FsdGVkX18/ovAn0zprxd1LlMkd66ALuMB8cDYG3xaV6jXGe7x3n2Q/KzWIuaG4tlqAYA+buq4EAZJ+cG/mbK/kE8rXgrkLKHNH0vE5V0n+4tSk09RAFh7Sc+2QTKZVQv7pfY98rmToDyvzVRzZ37jxQacaBrZkIYt7tGZv8YDwiEoYEZ9souTxhWSvgGktCZ0L37NoO9GWnJvOHgtGNHLZCkar0I5auArhZkoq2PFqheIBYv6RBBUrpBCRN8BHxIZYXU6T1aa9gPPZj/GELGiTVFX2JBNj0eYOFAGUggnMukCCJH2WAICmfeJwrlAfmFits7O0zGgTB+zx4SGw+JufFkcIE1S0SDl8UmJn4k/AD9fgs4gV4O5Agt/zCKwFFe/ZSVvKUVd/1cpEWPGJyEdhvCMG0/D94s0GVH4pSyXg8Bgml3X+d1QW+zjBIk47jpWcfcFNDqUqQjxmu1O/l3G6aTr93k4HJgINji8sEnHtK8lmAQLtZdQWOVtwCvCdgnKJVK7xl7YyPTemA1nxwMT1v/32+/vU3RUU0L39l0+Ws6htMOhYBkITBcycxpv2BYyg9UPglVXw0BJQfGIY+XCUjYsBuxIzbz0I15hts8rMmYu3+Yk07cAcvGGGt6UpkPqF3RzMazw7Ek7IVKaZKIE7aZe7chKvSFfqu8FYLyFzO+x22sJS5KmyhQ+7Q4c9J5q+2auPTA9DkAj/CkZ/mNqE3djGkIUR1/cunP6ADwnCi7o59W70emEJHsDl6CyziRjOBblvOGN4uGFsoHWqx6h2Ls5e8OEUGJpZBfNLeQX05Vbz8ncVp+MR41FmwBF5nu6z2bSISxP3eTJ4fze7p49+CUcJklkkTn8KfySg/vzjYFdIRssPViuvVAgzw/WlHXnPq2a2IKq6d39Jd2whTQN/XCNGwUntwCMsKCamSQ2Y8IoPfIIlc+hF9q13vrblprTLBQBQx1qOIR0nirT VE1fOrp1 7fuvnrNtzn5HdNnYsLrv7jAZB45ekQ02Gq0/Hn2UcRWiIIhCUAuH5cLklDLcjlS94L6quLLY+9M+7/6P1vJhcjWXcMlif72N8OA3LaZ3WHlnkPb2YqEls36Bh8+F5ccJaaJLl6UprlgPGA+VvibU9g+JwKARpTz3Ly498JvhFhrD3uP07Kp/ub/G0CHlnlpzOu8sIikQCDwBYu2LsFfsK8UmnXDub7RXW2Lpr1eKUutawP1C33HWWFWREV3CtSJjKFmXM54d3f3rDLSDqMH/2K9iXy5HUIwaY2T7fRC6KDsAGpJI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, 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 Tue, Aug 13, 2024 at 3:00=E2=80=AFPM Andrew Morton wrote: > > On Mon, 12 Aug 2024 16:48:23 -0600 Yu Zhao wrote: > > > Batch the HVO work, including de-HVO of the source and HVO of the > > destination hugeTLB folios, to speed up demotion. > > > > After commit bd225530a4c7 ("mm/hugetlb_vmemmap: fix race with > > speculative PFN walkers"), each request of HVO or de-HVO, batched or > > not, invokes synchronize_rcu() once. For example, when not batched, > > demoting one 1GB hugeTLB folio to 512 2MB hugeTLB folios invokes > > synchronize_rcu() 513 times (1 de-HVO plus 512 HVO requests), whereas > > when batched, only twice (1 de-HVO plus 1 HVO request). And the > > performance difference between the two cases is significant, e.g., > > echo 2048kB >/sys/kernel/mm/hugepages/hugepages-1048576kB/demote_size > > time echo 100 >/sys/kernel/mm/hugepages/hugepages-1048576kB/demote > > > > Before this patch: > > real 8m58.158s > > user 0m0.009s > > sys 0m5.900s > > > > After this patch: > > real 0m0.900s > > user 0m0.000s > > sys 0m0.851s > > That's a large change. I assume the now-fixed regression was of > similar magnitude? Correct, and only the `real` time was regressed, due to synchronize_rcu(); the `sys` time is an improvement, since it's not affected by synchronize_rcu() (or not I could measure). > > Note that this patch changes the behavior of the `demote` interface > > when de-HVO fails. Before, the interface aborts immediately upon > > failure; now, it tries to finish an entire batch, meaning it can make > > extra progress if the rest of the batch contains folios that do not > > need to de-HVO. > > > > Fixes: bd225530a4c7 ("mm/hugetlb_vmemmap: fix race with speculative PFN= walkers") > > Do we think we should add this to 6.10.x? I do. Agreed.