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 BB110D1039E for ; Sun, 27 Oct 2024 05:35:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D7B86B0085; Sun, 27 Oct 2024 01:35:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 086586B0089; Sun, 27 Oct 2024 01:35:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E90316B008A; Sun, 27 Oct 2024 01:35:20 -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 CA08A6B0085 for ; Sun, 27 Oct 2024 01:35:20 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id DDE761C7B6A for ; Sun, 27 Oct 2024 05:34:55 +0000 (UTC) X-FDA: 82718268528.10.B4963BB Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by imf17.hostedemail.com (Postfix) with ESMTP id C9A1740004 for ; Sun, 27 Oct 2024 05:35:01 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pJyVpoVn; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of hughd@google.com designates 209.85.210.182 as permitted sender) smtp.mailfrom=hughd@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730007191; a=rsa-sha256; cv=none; b=zLItfzBUJpJxueR3bba1iZhNZlaLY3nn5wRCIS4h+P4N5CyIIgY2LbVYVE2rkM+jqDKgoP G6ScyWeRWCQXgs7z29VW2LKTsKPs2Sa/B2/4nFrujqe+PzHwgZ5zUbwpD+XL87i4ScI0Oo 0IgLcOwlLvXzWlqBy12LsRfn84SS7H4= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pJyVpoVn; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of hughd@google.com designates 209.85.210.182 as permitted sender) smtp.mailfrom=hughd@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730007191; 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=ujd2vHmvdLrfB7KGMHpfvkxuxKVDDWppgd/piDO/ivA=; b=XkzZgPuBtibo7Fwh+7XagTZHUVY1BDuL4BZAxMmXkk/Tc7Z0da/8cJyaR6nlW9l+Hd/vxf PkEZEqpBGuwrp6yL7KUXrEJyJjlSmjF1rfip3fESewj9JSq8V8nbu9NIOcpd8djCvnLRE7 jKfLn/mrihL+pnjxJ9ZLQgs2cU6rWVY= Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-71e49ef3bb9so2181473b3a.1 for ; Sat, 26 Oct 2024 22:35:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1730007317; x=1730612117; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=ujd2vHmvdLrfB7KGMHpfvkxuxKVDDWppgd/piDO/ivA=; b=pJyVpoVngipdDt7O0L8VSVoX+CPlJ36PHyx94oyVjA0Aatr9PCG80i78ol79YF4tnO nhB/VnCegas7Dc1so2TMR79BzmYrNbJc1kH8y2vXzv5LBCBo/CveWvlfS9iSbv4kFO7I BsBGfiv8L5g3WSIkDr1Q3dP4fJHDf/E2x4o6EU/sR+5SyXNuRqAxmJcP2ot7vKWGLNBA 8lLmMRr91MjkV1BS59fTryHxrNiloG1sqiPCi3b4wD5vuZczcEjIte5wi1SgobXtZvF0 T9niKF9tvCLA5YIp1m0pmLwtCVrru02TKmVZOLs1PxQSoLxhol5Ddl9YxUoZ4aNcsjUS tmdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730007317; x=1730612117; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ujd2vHmvdLrfB7KGMHpfvkxuxKVDDWppgd/piDO/ivA=; b=KAyJq0qdLQKKE7xVyYgWdZ0BuhWH72SBZl+lssz8KbQ5tPkH83ihUr7VC8nFMtZyeR viu3vkdifSEHw63kDBmmbG9EZUszHPR91XKNCD+oPsDis/ZDvEGyOotR+2xgSABX8G3I O/0kpWx93Bt3YCTqmp8LiWAecLEaplNgHOW5TpOXyWjmup7TVLsIzFRg87BFbAY2dnip /4C4ZrZXrx6NCV1SSZjA/g2yUhmH1N2ZSFXe3DZrzctl6GZ7eNuyftc40FZfcp/eixda FFVXjpPKqtK1fbvwUI6dUMDhCYZ/e35qlPs/uOah/xvWupo/mLQZXvi5UATHDT5J3jzM SC0w== X-Forwarded-Encrypted: i=1; AJvYcCVWw0+mXBOpFZ9iKvelk3v7j5+QMhZHpTyncQXoiJWXmij8BiUj5apAS7untPRgqr5SPTl9QElD8Q==@kvack.org X-Gm-Message-State: AOJu0Yx1HsoXcvmHRyUGmfM6NPpqYHxnEL8200Xtp7/US5omU/ARvScB JRpyouBMpOlxTonT4sDmiGVoCFudsZHKD1DB1ap1aDoUVjB0TW10fyXGmY3gmw== X-Google-Smtp-Source: AGHT+IE//NA9WfVgQkGQi2jQJBiuU545D5cE7iK7ffFqmasFRKs9aGFtcUD8RKyjHF2+GFKNET7K1g== X-Received: by 2002:a05:6a00:898a:b0:71e:467e:a75d with SMTP id d2e1a72fcca58-7204545df78mr11820844b3a.12.1730007316724; Sat, 26 Oct 2024 22:35:16 -0700 (PDT) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a0b7basm3520868b3a.109.2024.10.26.22.35.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Oct 2024 22:35:15 -0700 (PDT) Date: Sat, 26 Oct 2024 22:35:14 -0700 (PDT) From: Hugh Dickins To: Yang Shi cc: Hugh Dickins , Andrew Morton , Usama Arif , Wei Yang , "Kirill A. Shutemov" , Matthew Wilcox , David Hildenbrand , Johannes Weiner , Baolin Wang , Barry Song , Kefeng Wang , Ryan Roberts , Nhat Pham , Zi Yan , Chris Li , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH hotfix 2/2] mm/thp: fix deferred split unqueue naming and locking In-Reply-To: Message-ID: <88043c2c-0b7c-40e3-c5e7-47720cc66861@google.com> References: <760237a3-69d6-9197-432d-0306d52c048a@google.com> <7dc6b280-cd87-acd1-1124-e512e3d2217d@google.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-1463770367-943490169-1730007315=:20798" X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: C9A1740004 X-Stat-Signature: eqybrr9qcmjpnffcn3xhwe7gxfokxmft X-Rspam-User: X-HE-Tag: 1730007301-352285 X-HE-Meta: U2FsdGVkX19lMF2+65/sGL7swif2zTrHsbXUnyFNID1fCIpbOJ2/b3bhMsyMYYIV2tkGE3T93u9drwGDxZ0A/7Ve3G9uZVV7Kl8fL/b/7qgjBDJsQuQvu8upSqLAkAlKlF3gU0Tlq/C4kHYpv6hqxsZOfTdlmE0mmlosBdHlxv2lvlXrQJ0q0OIeBb6XR88CnVyfHEDzh/73zs0pXy19OzebGCwC5uIcXYUXUgDKtUIfKtQJi1OofbXuoCdueQGSE7Qma5hrTA3qomyaqGqOX6YoVM/WFKGr3O3poPthStBYDqW/GE4iMFHDKiC6TleGeQfxJE0BLWhjvcTT4JxFqpvvHG4hkw8vhIpqOaSKlSMQWmi8F83vA2t1NcHGt3HVtPudyG5Gi7RgipJlMZUwXXYFOr96JIlLEZTfmKisQ2eKtqX86L1NrLehYdcFyZXSc990ul4tc6/zcTcPnc8IVpj9j6TwOv5WBkiLTHQ9jcF1BYZnQQ9e4nzBByPU/bEqtBJ7+IF/lR7U48b09tdUXforVp32LaYvT+BYzRuIUBxbIZNzeSLfdYcNEthFznm0z92j85vitfnkLqkIaf57bXv7O/mNOj6SwAtnbEPde54aumcsssb/80thAA7Exlv5TJjz/rInrQy1BOU7S64v9G2VdOVD693XD7hRnwXv2COkOW1VpwF/3/L3cXQ6K3uUgKl0YSO+NQItHfYDKokjmBhsG2ilNqxDSerfFa1aNrHgRgFpReMNx1DQM9te8EG0aSTY5bnz+zC3ZLxSC8Br05dphHKrwXy5PhqYmxMzXM3Gy7vx57nJYeNX7bzBR0LRhyR/kNAV6OKZhQ8i8j2kL7ryGcivWFiAX1uhJ4Xw2X6FgZLa1qCsags55AHEIp9NzL1zFxex6fl8826B6s9qIroqLI5qu3tPrsIboutalHb1b9NC/s93K42jTPE4Rs7Umi47rMrY1LsUQcF5HmR xGLQ2xBr /SLSR0XiWryU/5Nw3/VnsafktEnUwQdUw4jg+TDJ7wikBdQ3XCJ659tQ0Y80HoRgRoJi7AEgt5WC03m2OBpk7jc0xe+tnREeSA7bvpkzItiTDjb5vS30CY7qzclOh44AzpKp/5ClZH/KOzLfxmObmruEsI8ODqHd3k0lCIzuO9McAFBO+b9KFJmRAbBg1A2BuTMIdTUNaKTXnH/aLQ0ve8b1AgXRw00Asc6gj08Z0jRueUzzEdV7RVXaSukKqtMf4kNExYMKrlD0sbNptcbh9yUmbodiLMK/WMUX4Rhibvqa1nhGW6QvVrtcPNW8XVuesllcUbfG0sjEPQSqDXIbztGhea+2tDLeVS+VO9mOLILiXOFiO0Yxh5K265S7Ib2aME/s8BPa/9cULSMpYXVQNnhHOOkcfdXDHZCfp9Fom+RoS0dzhufxL4Imst/eCx5f2WHl47IgnGEXD9YMhjNOQ9XUgqMnfC1WKV/SIVxxm4q3ov9EAvr0xkjMCFw== 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: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463770367-943490169-1730007315=:20798 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE On Fri, 25 Oct 2024, Yang Shi wrote: > On Thu, Oct 24, 2024 at 11:57=E2=80=AFPM Hugh Dickins = wrote: > > On Thu, 24 Oct 2024, Yang Shi wrote: > > > On Wed, Oct 23, 2024 at 9:13=E2=80=AFPM Hugh Dickins wrote: > > > > --- a/mm/page_alloc.c > > > > +++ b/mm/page_alloc.c > > > > @@ -2681,7 +2681,9 @@ void free_unref_folios(struct folio_batch *fo= lios) > > > > unsigned long pfn =3D folio_pfn(folio); > > > > unsigned int order =3D folio_order(folio); > > > > > > > > - folio_undo_large_rmappable(folio); > > > > + if (mem_cgroup_disabled()) > > > > + folio_unqueue_deferred_split(folio); > > > > > > This looks confusing. It looks all callsites of free_unref_folios() > > > have folio_unqueue_deferred_split() and memcg uncharge called before > > > it. If there is any problem, memcg uncharge should catch it. Did I > > > miss something? > > > > I don't understand what you're suggesting there. But David remarked > > on it too, so it seems that I do need at least to add some comment. > > > > I'd better re-examine the memcg/non-memcg forking paths again: but by > > strange coincidence (or suggestion?), I'm suddenly now too tired here, > > precisely where David stopped too. I'll have to come back to this > > tomorrow, sorry. >=20 > I perhaps misunderstood this code. Just feel free to correct me if it > doesn't make sense to you. But, yes, some comments are definitely > welcome and helpful for understanding the code and review. Thanks a lot for challenging that: it was me who misunderstood, not you. I might just be inventing this excuse, but I think what happened was, I'd been staring at an earlier release tree, and in that earlier tree the prior unqueueing was tucked away inside a memcg function, but not done in the #ifndef CONFIG_MEMCG stub: so I thought that this folio_unqueue_deferred_split() in free_unref_folios() was needed just to do it when mem_cgroup_disabled() (either by CONFIG or bootoption). And I thought the "if (mem_cgroup_disabled())" was comment enough: except it made no sense to you and David who saw what I was blind to (and what you describe perfectly clearly above - it depresses me sometimes, how I cannot even read what someone wrote, until I've arrived at the same conclusion myself!). If my story about !memcg stubs is true, then I think Matthew has been cleaning all that up recently. Except for put_pages_list() (where I now see he wanted to insert a VM_BUG_ON(folio_memcg) in April, but was forced to retreat): that one does not have a folio_unqueue_deferred_split() in, but the good news is that it no longer has any callers - I'll send a patch to delete it. And instead of my misunderstood code above in free_unref_folios(), just deleting the folio_undo_large_unmappable() line, with a comment in the commit message. Thanks! Hugh ---1463770367-943490169-1730007315=:20798--