Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4048011rdb; Thu, 14 Sep 2023 10:08:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFJFDAL9U9oqpPAsilmXbiMxTIzjjVtn1VzuwAYnLX4ZttG7zCV4yVn1OkeBxjRGDegRF3L X-Received: by 2002:a17:90b:2343:b0:274:862f:3439 with SMTP id ms3-20020a17090b234300b00274862f3439mr1134708pjb.13.1694711304518; Thu, 14 Sep 2023 10:08:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694711304; cv=none; d=google.com; s=arc-20160816; b=CZPo1be4y3Ck0d3NAMWFusMckka5qnPnTArLfWUyUlli34gjqcs5RDfe3fmUOoiyw9 6e7mqDXUHNAjWa2zf07oFR8rRJ5JbMDW2o6Ep4+q+Ufky950JRrj6vGRn29DFSfTy7RQ BAyxtQtdAjn/iwd+L8SxYFYe8iZ1KaQHwCe/CrFof0MO+4NcKSGU736AqU1PXAATVCRM vJXbKtZyHXRKrRqAjbe70mNjjL2CgEyaTFkPcnb8rp965qHhqgGdeJfQWIfaiHJ67RMF wt5gzx1hsPEnzne1tKifWIdo7oVsvqPx2aHaWdpWnFrIDHLobMGWoaqL+uEKvnusS6sK pOpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=QfmpMYsBKyFcd+9UHQ0S+ea09v02Pbj16LK2Jiwz1tI=; fh=RzKUbOpCkJiWPZd5hHNkK6rcPWyxgi2KoA0QtdSzhLk=; b=lbCOj7IulRn9RaPE5YvINfbulg0uwf7dj3ZNEPqeGTxth9+xqh+Em4CC2c8nlJmVA9 2yPbfu5DZR+BQnYw9xRthBov2f0u+W3lSa1GqLpXn5SK0gmt5sw1kE4gX55MCClKqtQ+ p+r6AFRYZ2zeKxA1pHkZD3EZz5y/nPnFZuypY8G+Q1hFXbMNyhJhmnh/sqVdaHgg1Dk3 pNnye2oFCPDBTyTfyHS88xGAnFphzKvevDGD8TIsxYRM4UyehYxCxhSbQsCi+JCuy87d pzGTCGFdg8rJVplilLCiEHRedFHrBKjl+/QAuCz5SSi4SgwErau4XfAtra4PaafqBAz8 SOJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=1YA9QHr0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id a19-20020a17090acb9300b00252d84b7af0si1962414pju.181.2023.09.14.10.08.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 10:08:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=1YA9QHr0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id BCC5582CD62B; Thu, 14 Sep 2023 08:59:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241290AbjINP7Z (ORCPT + 99 others); Thu, 14 Sep 2023 11:59:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240667AbjINP7W (ORCPT ); Thu, 14 Sep 2023 11:59:22 -0400 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 50CDC1BE5 for ; Thu, 14 Sep 2023 08:59:18 -0700 (PDT) Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1c4084803f1so152185ad.0 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=vger.kernel.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=1YA9QHr0j9tiQMxlES4aht57u0M/dDsKpr7hxHQwW2dFGaWJMOK1zSOrQ3BnSBlg1o erxAU2pyhdRihLnm4LCxR1CfWSI9u50+oEc3MYjo/e6sWlRyYsA4pVgGfkqVLVs19oha AihqCXEYJn/FIQo2bE6lEDGYC9aHM0aJThvKk7UEIbdevGrRupnL+K3TcmrolQY5ot78 e2+zWCJom6mOwf49P77VVJPIwhJifpO1WvCxfzccteo0fyOuCAft827zxUsC9OBTUR+o 7WKGe0XflLgpjnAV+AsI6+k/io94a2JLCRZA6fFt9q4+YBQheUA4faiC6avN3wm6d+E/ AgEQ== 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=AWALGjxqSLT/amI/LobV8baiqzMM704vWhOOjfDDcxZAgohn0XO/q7cYjbg16Pw5Tk h/som0v4oB6kzISohvKVoL1Jglna55eARVNvMf3Tb/NqsjxmxsLUY7l5Ynsb/oKFC4Ng /thHzuoG+n1WBrCOWtTLatS16J0bp0lcaMueO6GigCxZw1wyH1DyGrNLH05GnTWQsQGv EbQtKHt4iekjRGvxhcrJDK7P75BCYM03ujxhQq3dgt9t5jZRJzy4vXXCR8CgtTA9t7j3 62V+DfjdvemTuRBPhLGgvyhBnEpbcKE/E78QyXEflI8+rRE1X8agXfX8N1HL9ct1cXxH PGBg== X-Gm-Message-State: AOJu0Yy9d/jQ9PlZEmNOw99rX5yYMnlxwoFNquXwJdiX5TWI1f5fYsUr SUXXT4hMo9oRSafhJSu2WqK+Xws5bRs2FAU+IPJjxgcDTC3Wh6J+8Q0= 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Thu, 14 Sep 2023 08:59:32 -0700 (PDT) X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email 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