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 E9712EEAA53 for ; Thu, 14 Sep 2023 15:59:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2994D8D0010; Thu, 14 Sep 2023 11:59:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2224E8D0001; Thu, 14 Sep 2023 11:59:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C3058D0010; Thu, 14 Sep 2023 11:59:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EA1408D0001 for ; Thu, 14 Sep 2023 11:59:20 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BD7F61C9F51 for ; Thu, 14 Sep 2023 15:59:20 +0000 (UTC) X-FDA: 81235662480.24.D4FE5C4 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf21.hostedemail.com (Postfix) with ESMTP id E8DEE1C0012 for ; Thu, 14 Sep 2023 15:59:18 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=vyXenH+R; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of shakeelb@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=shakeelb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694707159; 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=QfmpMYsBKyFcd+9UHQ0S+ea09v02Pbj16LK2Jiwz1tI=; b=mlg6GdK1+JAsaGBVJS7uEFlwNKmSUW2ze9ekpxalArEkf64MToo527YYek5d/+iahDJ8b/ nrjR6cBoH26hYn1DVi0Mgm71IDy+6Fs/0qnAciVpwC/asTknp3/wVUJTOXy2MEEKEiM5dJ 5Px5h1fMiBNOcpaaYagJDvBKddQ3Ado= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=vyXenH+R; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of shakeelb@google.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=shakeelb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694707159; a=rsa-sha256; cv=none; b=MYwYGFBUbTxOsg24rh3tTSS557gYKY6y+E1xeyYjgqvP5fFoR0V1ZoQLmJndH6pwLQng86 AWLmbwdid8WTkYBH/NBeo/LadJSXhF6kJ2/16IG7OBPPv9sbZYOJwp+lM5slR4zEOQ7teH 1Pl0/UexnQ5e84NNEAapeyskHXYvLu8= Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-1c0e7e3d170so145875ad.1 for ; Thu, 14 Sep 2023 08:59:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694707158; x=1695311958; 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=QfmpMYsBKyFcd+9UHQ0S+ea09v02Pbj16LK2Jiwz1tI=; b=vyXenH+RUArOg/QKTmk+phu/98kmbzzPzt+m86VYCLDIOXwVk3CsuJFJIrxeOjUpzU 8seSXmjEjxlPz6AdHxu5A190SDhTPALEQMTABfw4ArBuabv90yFLrShmMYHjyaT4a0HU VD8T+PVaB8DSXlr3iNHm1yWuznfkJQiOfu/LMR2PBZBMUcveUdprTO8NK+PSJ7XQFLTP dIh4j9TpWKppij6NKQg8AYut3L6ZjoB8fd2gsfSvAmqbEd6C6QvSl2d1okRT4OLwhjkX woNzoOHahkHdcR2dCfpm3w7NIIn7ilgprZYbU94PYp1IEnXUI+ZZ//zqgtple3l1rEbe iyBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694707158; x=1695311958; 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=QfmpMYsBKyFcd+9UHQ0S+ea09v02Pbj16LK2Jiwz1tI=; b=n7a9dx7op8iCefbgCFmHrkLPNrfIzeJsuXuCIbsygyM8HSaG55DMmbMCalRwthXaWb cHU+I/Fjdqsf0RCvPYV28F1eFPb2zR40xZdeiK4F6h1APwhhHHEgQN/mnnZ7w+sBq7cI tMPKowT/Xf43LQW45ZrMZtsw17n6wFNJhMrTeuKmFe338TmOmzucF5iFNgKwTx4x4PkF FOtslHTSjr6QtFtvixpYl4bq4Qgy/f3xrsSX8dkOzbndpKJ2UvQkuGo6h+i8dH0G95XZ p4jmlN2HvYCXbiU6BQtUJQGRdnTMDPKgx6SIWUbK+bKrw7aKwj4lcc5Ue4DqCadCiMc1 j5mg== X-Gm-Message-State: AOJu0Yz97/jkZ0iDzg9vtCdfM51TupCq078BhAnJ1SRoth/rbrfkntoR bNW1HZMJ7QcI60Vv7zXWvHlAAcpBpIClaiyI72Tv5g== X-Google-Smtp-Source: AGHT+IE8liTYNts6LYhs1mQ+j8PNdKTP6jzfQ6qXeikGkdhI1DHiwJ2EWuxCkJDZaKyMlHdavIpVr3571Zh3gEtVmPY= X-Received: by 2002:a17:902:db0e:b0:1b8:89fd:61ea with SMTP id m14-20020a170902db0e00b001b889fd61eamr446273plx.1.1694707157596; Thu, 14 Sep 2023 08:59:17 -0700 (PDT) MIME-Version: 1.0 References: <20230914152139.100822-1-hannes@cmpxchg.org> In-Reply-To: <20230914152139.100822-1-hannes@cmpxchg.org> From: Shakeel Butt Date: Thu, 14 Sep 2023 08:59:05 -0700 Message-ID: Subject: Re: [PATCH] mm: memcontrol: fix GFP_NOFS recursion in memory.high enforcement To: Johannes Weiner Cc: Andrew Morton , Breno Leitao , Josef Bacik , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: 85ffpr35zhnzg58z6697auwkqhyrryow X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E8DEE1C0012 X-HE-Tag: 1694707158-234493 X-HE-Meta: U2FsdGVkX1+zmxGWqhFc+vu40ECZz0jfky0KlKupNxAVID+NarOIKBBqmWjrNxmTO8uvMR4LF50XRHu7GSElWyxYQdjKhF+a+kPFSJIcVq0axjozFvsa5FykF7M82FqvOwjkKH6BvHwWle2eo1jw5jgbLk787dSJtDT2uHPKUONJhuRYblCMiyMsTyapEiK7tSeaLSe98+aQRXGdTG2HwP8NuxIhbL4OjaRGHlUFUeM6NGJaEauycnOUpr+Ab+F8ato7Fmp+MVkxx3WeslgHPt/z+CbAxRCYVO4mAqyxSoE43F/Snu3+NCUuFXVgaQXTa2qxDsQIemBHG4C6mtwkj0v/DEZJ6fQVbD/+CQXr2Ilv9mhGIsLI8NAWOC513xGPd2ZmXS/xZF8d6b6Pi6SDnRt3Fr1S0FwvjJZsbLOw6147gQzjIxRYbCvB7OxJYBjUj/I5AVpiAt7+izpWezdDkPhWhM+mrknns+0uBTyycExSH6kxNr+5OpCz691aF24FgaVi5dwhmbKnhPAudWarue66qAXtZb38aWgVLaOpIoj9JDlC0WvcZSOyNsU4KDvBi4Sl7A9ixoj1kFKutkRvc1+kAnMaglfJsI1BUmTlKldzIEsEkXg7Om5uHCiWXJHC4R4kpzyunT/PB0+0fyHPfgJbPFvouuQ3HN6s7smBt9wMHKO5oYhzWHzrcfRQmogm4p2o4KF9cgojLbT9SgvAytqhMY9joZ+K9Ptv1qW9rv6VBtjs5Z9VddEGbS0EcPYt60mEFDbxasjU6N0aX9I1loEQcp2lKEh60/DfskpfjasvXi26UuUdL2OOMAsSv3gGV3y8GvxnDHgPrl2VPeZ2AsRavvymmyPA56Zrdyh+y6qICve6OrEXNkh6h/kgug1mrn84zF25KHrPTJ3TbK3MlFquan0yssniesuunTu2oXSq2dIcxLpWsCB8/dMCNs8wNByCojFU7eBmMJ+HFRR j1WEL0zk iHQpEw7BSbDAyrhvW0vaBoRFsPALWJEAAsiFcPJmLKmwFIOlm1AyzGe4kkKc3WGR5DjDDK9/eOuZ200/JjXDxVHtBya57wlthdbQR06VQH1msth03dVi3uq2OYuQdf6DJ+a0FVJDAQDMxS5PbQHeAF7WP9GLLI4J4ooP/AYoI/xEY8UbxbovfqZfrKTnZ0FydEDgWDA3zRxvrt6JfO5m4d5oe+IV33B+7fve5oXdMrDukPgCn2gjxfUFgd/wvTxTiRKRK5Zt9d1wo14/7ZRmAG/sp7faxNB6jbveiWxdXW6fYJ4vRWQLC1/cI8YA+xiYKY8D4ZiirmhVf6GFUGbI8mI8Pk+EAfu28ZLVMLFIYFO5UWyjvKzin0CjtMzxCer9izRbn1AG2ffsI79w/DdoYbPUMqYY+ja/UNpHuMBgj4exLyWD8Cg0QYCIceebsyBv+oUpEIZxPh1qXCtlRVDjmPWEBbrZxzqxxNZsXsEElSfm4UjJyZg2q8i+TlYMKPQniBitv6zTphbjkztxaZDXFvyTniA== 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: On Thu, Sep 14, 2023 at 8:21=E2=80=AFAM Johannes Weiner wrote: > > Breno and Josef report a deadlock scenario from cgroup reclaim > re-entering the filesystem: > > [ 361.546690] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > [ 361.559210] WARNING: possible circular locking dependency detected > [ 361.571703] 6.5.0-0_fbk700_debug_rc0_kbuilder_13159_gbf787a128001 #1 T= ainted: G S E > [ 361.589704] ------------------------------------------------------ > [ 361.602277] find/9315 is trying to acquire lock: > [ 361.611625] ffff88837ba140c0 (&delayed_node->mutex){+.+.}-{4:4}, at: _= _btrfs_release_delayed_node+0x68/0x4f0 > [ 361.631437] > [ 361.631437] but task is already holding lock: > [ 361.643243] ffff8881765b8678 (btrfs-tree-01){++++}-{4:4}, at: btrfs_tr= ee_read_lock+0x1e/0x40 > > [ 362.904457] mutex_lock_nested+0x1c/0x30 > [ 362.912414] __btrfs_release_delayed_node+0x68/0x4f0 > [ 362.922460] btrfs_evict_inode+0x301/0x770 > [ 362.982726] evict+0x17c/0x380 > [ 362.988944] prune_icache_sb+0x100/0x1d0 > [ 363.005559] super_cache_scan+0x1f8/0x260 > [ 363.013695] do_shrink_slab+0x2a2/0x540 > [ 363.021489] shrink_slab_memcg+0x237/0x3d0 > [ 363.050606] shrink_slab+0xa7/0x240 > [ 363.083382] shrink_node_memcgs+0x262/0x3b0 > [ 363.091870] shrink_node+0x1a4/0x720 > [ 363.099150] shrink_zones+0x1f6/0x5d0 > [ 363.148798] do_try_to_free_pages+0x19b/0x5e0 > [ 363.157633] try_to_free_mem_cgroup_pages+0x266/0x370 > [ 363.190575] reclaim_high+0x16f/0x1f0 > [ 363.208409] mem_cgroup_handle_over_high+0x10b/0x270 > [ 363.246678] try_charge_memcg+0xaf2/0xc70 > [ 363.304151] charge_memcg+0xf0/0x350 > [ 363.320070] __mem_cgroup_charge+0x28/0x40 > [ 363.328371] __filemap_add_folio+0x870/0xd50 > [ 363.371303] filemap_add_folio+0xdd/0x310 > [ 363.399696] __filemap_get_folio+0x2fc/0x7d0 > [ 363.419086] pagecache_get_page+0xe/0x30 > [ 363.427048] alloc_extent_buffer+0x1cd/0x6a0 > [ 363.435704] read_tree_block+0x43/0xc0 > [ 363.443316] read_block_for_search+0x361/0x510 > [ 363.466690] btrfs_search_slot+0xc8c/0x1520 > > This is caused by the mem_cgroup_handle_over_high() not respecting the > gfp_mask of the allocation context. We used to only call this function > on resume to userspace, where no locks were held. But c9afe31ec443 > ("memcg: synchronously enforce memory.high for large overcharges") > added a call from the allocation context without considering the gfp. > > Reported-by: Breno Leitao > Reported-by: Josef Bacik > Fixes: c9afe31ec443 ("memcg: synchronously enforce memory.high for large = overcharges") > Cc: stable@vger.kernel.org # 5.17+ > Signed-off-by: Johannes Weiner Acked-by: Shakeel Butt