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 9FD1AC7EE2D for ; Fri, 3 Mar 2023 15:23:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CCFEA6B0072; Fri, 3 Mar 2023 10:23:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C80366B0073; Fri, 3 Mar 2023 10:23:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B6EED6B0074; Fri, 3 Mar 2023 10:23:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A676E6B0072 for ; Fri, 3 Mar 2023 10:23:05 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 64837C0551 for ; Fri, 3 Mar 2023 15:23:05 +0000 (UTC) X-FDA: 80527955130.17.9FBCD8C Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf03.hostedemail.com (Postfix) with ESMTP id 1F98A20011 for ; Fri, 3 Mar 2023 15:23:01 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ibTjnqNy; spf=pass (imf03.hostedemail.com: domain of zokeefe@google.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=zokeefe@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=1677856982; 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=5kFGmiQs4hGB3dsTaclN/rSlgnX+dGLmiGsx43g87JM=; b=8Z440YJvKk4Z9cQZ53hmGBVDB+WzXx0Uw/vnzLRC8brimFLtD9MT0ggJ+00NA2IwYENxZJ bB5jpA6740z8yFKT7ajlBa8mz0vgoQk2UarjhB460THbjidDf4+VqtpNEs2LR79Ar3XuqS yWsr2WNXBEfox7zWFxKF6pOYYn72waI= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ibTjnqNy; spf=pass (imf03.hostedemail.com: domain of zokeefe@google.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=zokeefe@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677856982; a=rsa-sha256; cv=none; b=RMVqXyqdN22Xl47kkRxXJxO2uCPU5tUG3JlAjTbqNFmHP/Tjd0KPjPRY55Lbr1/ZYI57Qr 07mKBCl1RQgdqoqmwiynhdpQMi6v81d9VRPcps3hwz0XEjUIijTUXckefScIJ3qdxm6CL6 YFggMYOfWazPI2wm7YNX7/WvfeOYqJo= Received: by mail-pl1-f180.google.com with SMTP id p6so3063244plf.0 for ; Fri, 03 Mar 2023 07:23:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1677856981; 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=5kFGmiQs4hGB3dsTaclN/rSlgnX+dGLmiGsx43g87JM=; b=ibTjnqNydigtkjuGTZ8oxgeIrUCESyIFqu2HZII0I47ZCpZpePGTEOwrccAEJtQ3ZW 8gEV9HlqX6vgKWl9gT/8uE55UeI4pK37AdnvPxW1boqQ1cgX2xVcDeAFtpzt9xjLVGCB E76H0M7hwAuP1zo//OM73S2pV2/91tQgHydV10ETQ0JN0kYy0yiwPMZa45+iASy5mWhk ZIw08AR8LeXCErc4uMFVoMP/NI45nYqjTsLrHypoPpsxd2cpYiQvNY5Rptv3AOWQq6s2 0gfbvs15WC/aNGXwE2xmu8LVyllaQzOoUs/ae4fNDxvikf1Y7TGOwa3TVtiPZCXPoqJD Esxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677856981; 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=5kFGmiQs4hGB3dsTaclN/rSlgnX+dGLmiGsx43g87JM=; b=NeNKoGiiSSAe0hv0dZkI7dH1ApXNFexYInNzIt0NR542MSBa5iPY5/q6RnusSZu5PH BlmZ0y36WV1Khf7fmfyRw5xtKhH0hPsDsNJd4fXn6sAGxFd1g2FT7TQEguAABO9FOibb YOawwVbRmSi25am5jhVVmeucnDiXAnUpwB6WWVG3/8inKfj6HZ/8sx3sfKMbHZmhtDUh QIGE5XFeAFW/NhpK8MKmv5kFzc5RgPIdfV9QgkO571zfPlM3nFSfXMlIATnW8DZ1Lpl4 JN3FJjExkmXe+njzsu8AcKpIW5UrOLw6guvDtYzRJEnlDbO6azXyQAhhcL+ijQfRacrN 6Viw== X-Gm-Message-State: AO0yUKVcspZU/kSOOzkigDKa+xOsO5FRQ6lf3O34ahl/1EP1ekVoNiOK nWFDqEk9WGSSAxUhzyQhwwe5IQ== X-Google-Smtp-Source: AK7set8DydMAHy4wQVqZlksBBXv1wwVArVnKGPE6agOkluF9u0jqeeP0aC5cBDUvf+a4Myo6kXqRkQ== X-Received: by 2002:a17:903:2cd:b0:198:af50:e4e2 with SMTP id s13-20020a17090302cd00b00198af50e4e2mr250810plk.8.1677856980656; Fri, 03 Mar 2023 07:23:00 -0800 (PST) Received: from google.com (33.5.83.34.bc.googleusercontent.com. [34.83.5.33]) by smtp.gmail.com with ESMTPSA id p22-20020aa78616000000b005d55225fc07sm1749768pfn.73.2023.03.03.07.22.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Mar 2023 07:23:00 -0800 (PST) Date: Fri, 3 Mar 2023 07:22:56 -0800 From: Zach O'Keefe To: Peter Xu Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Stevens , Andrew Morton , Yang Shi , Johannes Weiner Subject: Re: [PATCH] mm/khugepaged: Cleanup memcg uncharge for failure path Message-ID: <20230303152256.a5z3wc2v6wri5ijy@google.com> References: <20230303151218.311015-1-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230303151218.311015-1-peterx@redhat.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 1F98A20011 X-Stat-Signature: tgjtgaqgrtyqqi8dekn1mu5ckb9d47zo X-HE-Tag: 1677856981-704461 X-HE-Meta: U2FsdGVkX1/AEreZ/AFe1EoH86H6aASnv6eXUghdB7h6hJbpE1opMIitNaYxCYkmwkol8JNdiwfvFAJgVl3IHdNv6jWhF1yjzVHAw67CEC8f9C+Bha0GZtOZUFusq92T5PzAhESVCV+BnHKXwIiCxBHE0AwCHWh7uvLxdfiB1Q3IW5idWZfSaPgKiaU8XzXIOMjuNLBSA4vXkj5VzYL84LwoklM0iE4d69xbiMV4Lt9JOpyVQu6YVwKKFAg/LJloiuofUJ6MUse8xqfbTzohsqtyRng138gtwAQ5ZYJQMKItNuvhVumPPd9jO0xn4+zIeCbbaSZnIA+28F9eiK7excqgNo0ozyzBLn7ZZPdKthCoZWLfMyPsicq2FvSltraUnTf/Sfgukos0Df/M00CQgfePMkng7vWuRYda1snckZabwM+ZtEfPn3+lAdUgK8C6D12A4LlDXp+3/wpdfe8Kly5onvqsxJUxlnxJ3LIiqayIH6eQUwV3Xr1KbBDS3m/PJnFtzv/aQe2urQMQILxJlJyNYHVYGh2VRazBx3whHezs0JjViJhY4Qk5XtdMp8v+84fRipjzPcN4XyY5stkcuvJ+II7Vdqb6iFvJ2jgO5JdnYnIm2JY4uLMxZW2B0xjmz/bP61ra4Zn90iWfeCFNDjQ8u4cWLpTSXO3KU8O04e0f4Kzjpuvk8zIPyVMJ62CsPUyBgPjib+s4oiB4YKBAFfT7QcKz/azaVSE+g2gyNp22/3tz+Qn1IT1dfVAdh78iTm+RPx6nMpZgQPJqkGt/OK/PNdEyZmz1ARh94bb/WTFr4U2OxkEYs1Xy/lBVMYO4jyWOCmyF5iwgjsRJiH74vxbXK4uqzYWDHyw152G/UQu6x3LZ6iuqmHee1avhN4aMXA38OmVp6QCxFji+7bfp7f/S8zLwgFpItORwd3SiSuMbuoimYCZe7Of114icmCNMvBZbUzc8og6t/do9iSJ +sXs9tTZ 04U6KhizcfdE6M0GblkwiGoZU2PHd/6pKNGJbFVhxQlHwGuIOeOyetehBL5ACu7+gVIYdW8q8V7VDTj6QdZSYpAKmVOf19rvorYclGFGlYgMkI/UIunCW/cqdI76kkjEH+YRnmUy+O3dNO0GyaUBpJFXA31axeFhY6Ze851/DBRIRaxr0zJ4cy21U7TwE+wngxYadJzo6yzLaKAfpRwrauPvHai2o2LQT5l277ohsJLCx9yLuus8FMbWWElUmZr375DDbd/0VNC/rWu9oP3FnLozIoiODvyjR4KfRjY+caJjBaky3KgKVBOGrL4WL0foGYvRsv6Hc+xuAzwE/cC8sazYcR+qEKld6GuNRszEX5fONu87c/H6Ncvt7G+TibZJTag04tepgPXsSHqFPyohlqzELWIFJdNiyhMao2rIi+3yjWkY= 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: Thanks Peter! On Mar 03 10:12, Peter Xu wrote: > Explicit memcg uncharging is not needed when the memcg accounting has the > same lifespan of the page/folio. That becomes the case for khugepaged > after Yang & Zach's recent rework so the hpage will be allocated for each > collapse rather than being cached. > > Cleanup the explicit memcg uncharge in khugepaged failure path and leave > that for put_page(). > > Suggested-by: Zach O'Keefe > Signed-off-by: Peter Xu Reviewed-by: Zach O'Keefe > --- > mm/khugepaged.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 941d1c7ea910..dd5a7d9bc593 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -1230,10 +1230,8 @@ static int collapse_huge_page(struct mm_struct *mm, unsigned long address, > out_up_write: > mmap_write_unlock(mm); > out_nolock: > - if (hpage) { > - mem_cgroup_uncharge(page_folio(hpage)); > + if (hpage) > put_page(hpage); > - } > trace_mm_collapse_huge_page(mm, result == SCAN_SUCCEED, result); > return result; > } > @@ -2250,10 +2248,8 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, > unlock_page(hpage); > out: > VM_BUG_ON(!list_empty(&pagelist)); > - if (hpage) { > - mem_cgroup_uncharge(page_folio(hpage)); > + if (hpage) > put_page(hpage); > - } > > trace_mm_khugepaged_collapse_file(mm, hpage, index, is_shmem, addr, file, nr, result); > return result; > -- > 2.39.1 >