From patchwork Fri Mar 3 15:12:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 13158928 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 23659C7EE2D for ; Fri, 3 Mar 2023 15:12:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 75AAA6B0072; Fri, 3 Mar 2023 10:12:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 70AF66B0073; Fri, 3 Mar 2023 10:12:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D2986B0074; Fri, 3 Mar 2023 10:12:27 -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 4C1786B0072 for ; Fri, 3 Mar 2023 10:12:27 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 276EE12097A for ; Fri, 3 Mar 2023 15:12:27 +0000 (UTC) X-FDA: 80527928334.22.0FB809E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf25.hostedemail.com (Postfix) with ESMTP id 14AA9A0024 for ; Fri, 3 Mar 2023 15:12:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=GghFCaKC; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf25.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677856345; 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=F7FkEvK0Cc1dzOzn0YRJDUmEaZBxKLaS3v89bxlha2c=; b=rWYuHFtDd56UIjB5mnnwGyFZhcwVEh3nKldutSjyFhhaf7QHKpzh1xYB5TAfTcJg1UvuWK tvk75xD5fOLj4w7lG+qVMeIIw19KXycPXOy1PSPlvKk87RePu/kUWfBjCeXZ2chZVgcLA1 Boaq3Ls5cXDAslznM0EgZIQ1BliXVRQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=GghFCaKC; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf25.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677856345; a=rsa-sha256; cv=none; b=dwiJxAG/HAJaYBI25oRO7OHjL2MsT+06cTCqMVcZiJUMelU0sML05AlPeZxPQvRV6nSj47 ZYr+CyrsgxXWDfEzfzzf0l6d9g/iYpBT+BjzNLnAuZs1YjMYovL2/JZ1eBoxmO/1lgyJeF ErG7K/maTjFw67GaYmB8KEpQXTcQGvA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677856344; h=from:from: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; bh=F7FkEvK0Cc1dzOzn0YRJDUmEaZBxKLaS3v89bxlha2c=; b=GghFCaKCeZrg+uxHq8r6/zOeloBFnML79rBFWQUg7fkRRidU8Ps5xyoONh5Rknimgyv4E/ VEinl4YL7prw8vQ6x6Pf7Ma/vSZFvyC6vp0Uc5pmFxzEP6JJPEozI/g+ZlZN8Pquc9VkzI H+Z0Dkx1xWUT0CUUCjUr4PuiTnOSGvI= Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-175-naqTaXmrNfOUCU2h-6Zc8g-1; Fri, 03 Mar 2023 10:12:23 -0500 X-MC-Unique: naqTaXmrNfOUCU2h-6Zc8g-1 Received: by mail-qt1-f198.google.com with SMTP id l17-20020ac84cd1000000b003bfbae42753so1613684qtv.12 for ; Fri, 03 Mar 2023 07:12:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677856340; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=F7FkEvK0Cc1dzOzn0YRJDUmEaZBxKLaS3v89bxlha2c=; b=UCcyNTlwLV0bA9yOnixHLSZd1FYF0y8iBVJXRMUYbPEq8nGpG4Lo8h1VqJh5l7NlYh nv+YJOulkHxvstLAmSBEe2ZSrN0m4gDmfG7y6GVRcSEGhnNJCGIk0Ritgx+33s9RCict JrpKsiucMTdINU8i3eptzTTgvwK2tnEwgs8QSd/HgpO2wFgN9oov7+w2Pxy/BpV7eldI TKQDJ6BTozPPF2iHXr7O6p5hjlajNWsKVgHTa0Bko8szfCK/xF9JqfHvtEkYONCY9Xc+ AoB2w2F0mW1gyiq4vAi1ogK4MUi7uEYZGG4u1bl2oypOVDnjqp9Nj53vWZs5jfZIfi0K 4OHg== X-Gm-Message-State: AO0yUKU4eAM8ptU0OsidEkahKxYtQrpTDimxgnlXSdENkkvoUUdszWNO lv4M/qtxiSccrGgNjunjMQdo7rOFQGgcDvD4DxMblQJ9LRnzfmMh7NHpy6ocKeYDHLW7PZTgWWh 0meCq5d4TDwCMQFbD7iVv47Pz/EuL0U8fd3+3Lfnav5/6LTTFWUxdEz/cnFVOgTdh+Q== X-Received: by 2002:a0c:cd0c:0:b0:57d:747b:1f7 with SMTP id b12-20020a0ccd0c000000b0057d747b01f7mr2618911qvm.1.1677856340626; Fri, 03 Mar 2023 07:12:20 -0800 (PST) X-Google-Smtp-Source: AK7set/5iR+fOMQqaavx8iLd6HqfCnXGvTdB8MZxV2fvLYSnkvkmhcx2GhWHSJ4arBfU1SMRD+yTkw== X-Received: by 2002:a0c:cd0c:0:b0:57d:747b:1f7 with SMTP id b12-20020a0ccd0c000000b0057d747b01f7mr2618870qvm.1.1677856340293; Fri, 03 Mar 2023 07:12:20 -0800 (PST) Received: from x1n.redhat.com (bras-base-aurron9127w-grc-56-70-30-145-63.dsl.bell.ca. [70.30.145.63]) by smtp.gmail.com with ESMTPSA id c133-20020ae9ed8b000000b0074280fc7bd8sm1891317qkg.60.2023.03.03.07.12.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Mar 2023 07:12:19 -0800 (PST) From: Peter Xu To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: David Stevens , Andrew Morton , Yang Shi , peterx@redhat.com, Johannes Weiner , Zach O'Keefe Subject: [PATCH] mm/khugepaged: Cleanup memcg uncharge for failure path Date: Fri, 3 Mar 2023 10:12:18 -0500 Message-Id: <20230303151218.311015-1-peterx@redhat.com> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Rspamd-Queue-Id: 14AA9A0024 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: wq3swyftxe7kueeq5th6xirccs4wk5p7 X-HE-Tag: 1677856344-784068 X-HE-Meta: U2FsdGVkX19HWZ1pSBPLpg8vm2h3AzjOpBOYXEF/ONDXm9XKoQFfv4ssu5MDINMBwjcZnlZGFT8oXMxzczinD4PUWAVakWOAPWg9h8T+ddRMOQg28tHYTEkxVDatEzfrh2oYWZwkUNRGNQf9s64hZ7zDe7k6fbsTCUmU1VAaY7YhljDQsz0NXlaq4nZZn82+94BO170QupZf1CJjSKZjD/K9N57jwE7+hroML4CfMtT/y/JH9HNujecjRlEsYtVIspzwYzwatCjKbv623UNXM3nzpu2xS68Y4b3LeOC3KO9GCRvqdtblmgpxD+Ud6TOfAL9VmuqZLVvtoayo0Qmg18vU2wnHCcWEjmF8e/q8ky7H2+3OfeRbxS7zRnekv8YVSNyNoua5ABiHP9/vlmixNbA7QI7cw0Uv727sGvc1FCU34fC89s1sELKUfcHobTX1FX7qHmZDmnYO/jMT1rCSsN9Qm450NefGeGwBIUm389nvX50+6lTC4FcxT66qmfoexlWMM1M6dg9AT76apaHIOALD9y0ICAFdC9yeb+8igvdhVdL6Mg9tjzfDwjSvgjpO+kQ5hIeDygTBiaJNMlllRw+8WtR5/kEYz1KzjH61DW6e6llOQZjPi33bpNxhgfT2RPXZqQ3qvmLkIfBzyJGF49JkY7/lykZWMALj10b4Q3bEOSZHEjMH4D06n0tMX12kBW2IPZuoJfz5ovB3Pxpfy31YvhtcLZ4WYhZRDZuoHKCxwb7Ux5RpUtizJEJU3pcFQmf+dTiDh8NtYXAQehMdK2U68xApWdRVCbYmg2FYaVMKE5jwu0JBjU7cYg5S6Jy58j0qcYHWy42HbgIysXmJN9SAbjfwC0+Q+ZEwr6cNEDdvUPKnmyLRqIZtEUQb2jvkVRuyaO27h5V7a5ZCa7YURg/wRykFsVd5t8KWxyIdBwOl4ayIhoDTqwb127MTwkC8WY5QAt+EcRgLmLMocf2 vFohX0D/ O6eN6C1RqRMEpKIlAqlPOXC4q+nKF/geIZxmgP1cC7V2MuQMELgWJQGN83BlOXPtA73JHs2hbl0tBWDKj5ly9lhwbD4HrNHYIxQcG7gQq4ejGNPOrRj9+IG64TGF8VHSPtrhSWkLnTT4NDOv2QKkKxfFSPeimCSNmRsa8JO4mD17SUFghk82CoezavZKqp5WGGfz5uDlPAt2TDQ18+bXblZ9+y1teMKwOja+XT3WG3NfTpg9sw2ru15H/6KSyX3VisiQd3xomJ4AtAcaeZTpusaes3DH7Fieo9RhwvG5JvXdDYW9i3W+vM+aMD0bSvjVd6WLYt0t+uW+fdYeUYQjjApaWE4yQEH4LflvcOG8CbS84+XyFY9aJkefGnSt0JFVJpOIwSYxN4AU69qrZIqNa68yj742M4UdUPEMaUeHPkYBvPIg= 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: 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;