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 2D2F2C2BD09 for ; Wed, 3 Jul 2024 10:33:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9BA16B009A; Wed, 3 Jul 2024 06:33:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B4A3E6B009B; Wed, 3 Jul 2024 06:33:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EB1D6B009C; Wed, 3 Jul 2024 06:33:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8113B6B009A for ; Wed, 3 Jul 2024 06:33:14 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 2A7211C1C2E for ; Wed, 3 Jul 2024 10:33:14 +0000 (UTC) X-FDA: 82298079108.05.58827B8 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by imf05.hostedemail.com (Postfix) with ESMTP id 21F7E100016 for ; Wed, 3 Jul 2024 10:33:11 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=Qll6sVGS; spf=pass (imf05.hostedemail.com: domain of wqu@suse.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=wqu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720002774; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=42FI2OJ+1IbWPVQjkPD7u8dH2G0qPfKhkYg5yWe4mG4=; b=Mu57GdrC0+tGVjh3N1QuAKPBrnslymEeSt7TzCYvyvfmQyKwB1NWyuknxzekeSmouEEGz4 1VxInzlYeGvric8T88SF7qn2UkAuMPie5S+v7GnKlBNFMvCZD70FcDhMcH1hUZnrG7vq4m gTGdd9ecDm9NL1ZjJmoMlirl1e7DT00= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=Qll6sVGS; spf=pass (imf05.hostedemail.com: domain of wqu@suse.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=wqu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720002774; a=rsa-sha256; cv=none; b=ClQyUnMroP1YXKqEzsD5WbVtE/EVyaaNYdf3qR/cOER6QAL+p8Fu2rhyRjxZJWJtwvbLtS Uo/23/TrfvlkvfS7i6fjCjx7Zhz0KIkA/qlhnmhFGs6ENM+nDy16HxOyDhGb/Y4w7CTs7M 15BCR1Odc0yk1ejniqsTdTQfwkwl2Ns= Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-52db11b1d31so7283972e87.0 for ; Wed, 03 Jul 2024 03:33:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1720002790; x=1720607590; darn=kvack.org; h=content-transfer-encoding:autocrypt:subject:from:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=42FI2OJ+1IbWPVQjkPD7u8dH2G0qPfKhkYg5yWe4mG4=; b=Qll6sVGSgOxN5NM+8+VaEBTuk0OqTG+OrcmbNSGhvCjAWlg+XeIuDpB3q+bCXFn6ZO 3GrCHTLDREioBdq8pf2wBRAcHXT9AnAHrXclVUFGzavYex9oXZkvSNTP7DEI+SVXNv1j 2G/w/nzF2csk78XIGOhSkFxpUJvselSpgmqqkyoXP17Wx5SVADAXGFg/UkPzLyvXiKGx r4WsMRrV9l8lGCkxL4ShrahI50PVN6YFW2EfOJ3L2ecKDF8COgO+pqkrOpHXxS+vvI46 T/UibzQx8T1Iu3+ReOkqJNPY7wZJuUJ32E2cbJGx5Jg43mJ7dc6/uFXGyYTQFwQtEcaA Z6TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720002790; x=1720607590; h=content-transfer-encoding:autocrypt:subject:from:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=42FI2OJ+1IbWPVQjkPD7u8dH2G0qPfKhkYg5yWe4mG4=; b=YL403TJaDQhbakrdCP4Guh+Svyesp5VshJuLiRjxmqQA4AiKaDG72wM7JXiqX+SbRX +9Sif4Ubh2MgkqmLa7t90ZdtkAtpYmztC9O8CP7GZ2Erjw+WIOCiFXs36fiEZpU2MOUJ 77scbnAk0Bk38jGVjml4wizdPzipUcrcvNRfRQZMpK77+TxiUBQzlUrQR406FTEkMcnY Zg+ibBCsAd0Y+TDSEXpuVKCshB5DPA3A/JWPzjfZUfnR0TbpqNMgaZsrRl+4IxC7T08n OxBh7rzFzJf6sD03mmoCKUqeTdP+D5Vghv/O0c6nOX45JsWi24ztNsk7u5pwjhQaNAKr C7wA== X-Gm-Message-State: AOJu0YxUr44HJ7HSBlLf0X72qJ3rfHa165CKkNvFB6Wz+jFcAoDjpRyM oNo2CH0bM28JL4hdKnm0NxDWw+FU4NaNqfh9FNhUxv2TI+f41FQTZBwXvhjwoh/7kL10pEKUFbk h X-Google-Smtp-Source: AGHT+IETilU+sfpmBFVVOjUQ+p7zm3Zqaa27cajNfEZCANLcObMnkMmOdbPvX6wCmJoOS11VxEjhUA== X-Received: by 2002:a05:6512:b1c:b0:52e:7065:88e2 with SMTP id 2adb3069b0e04-52e8264c411mr8138635e87.13.1720002788980; Wed, 03 Jul 2024 03:33:08 -0700 (PDT) Received: from ?IPV6:2403:580d:fda1::299? (2403-580d-fda1--299.ip6.aussiebb.net. [2403:580d:fda1::299]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-708044ac34fsm10096943b3a.162.2024.07.03.03.33.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Jul 2024 03:33:08 -0700 (PDT) Message-ID: <5a083f16-cdbc-4d60-8890-58de8d80eaa1@suse.com> Date: Wed, 3 Jul 2024 20:03:04 +0930 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Linux Memory Management List , "linux-btrfs@vger.kernel.org" From: Qu Wenruo Subject: Soft lockup for cgroup charge? Autocrypt: addr=wqu@suse.com; keydata= xsBNBFnVga8BCACyhFP3ExcTIuB73jDIBA/vSoYcTyysFQzPvez64TUSCv1SgXEByR7fju3o 8RfaWuHCnkkea5luuTZMqfgTXrun2dqNVYDNOV6RIVrc4YuG20yhC1epnV55fJCThqij0MRL 1NxPKXIlEdHvN0Kov3CtWA+R1iNN0RCeVun7rmOrrjBK573aWC5sgP7YsBOLK79H3tmUtz6b 9Imuj0ZyEsa76Xg9PX9Hn2myKj1hfWGS+5og9Va4hrwQC8ipjXik6NKR5GDV+hOZkktU81G5 gkQtGB9jOAYRs86QG/b7PtIlbd3+pppT0gaS+wvwMs8cuNG+Pu6KO1oC4jgdseFLu7NpABEB AAHNGFF1IFdlbnJ1byA8d3F1QHN1c2UuY29tPsLAlAQTAQgAPgIbAwULCQgHAgYVCAkKCwIE FgIDAQIeAQIXgBYhBC3fcuWlpVuonapC4cI9kfOhJf6oBQJjTSJVBQkNOgemAAoJEMI9kfOh Jf6oapEH/3r/xcalNXMvyRODoprkDraOPbCnULLPNwwp4wLP0/nKXvAlhvRbDpyx1+Ht/3gW p+Klw+S9zBQemxu+6v5nX8zny8l7Q6nAM5InkLaD7U5OLRgJ0O1MNr/UTODIEVx3uzD2X6MR ECMigQxu9c3XKSELXVjTJYgRrEo8o2qb7xoInk4mlleji2rRrqBh1rS0pEexImWphJi+Xgp3 dxRGHsNGEbJ5+9yK9Nc5r67EYG4bwm+06yVT8aQS58ZI22C/UeJpPwcsYrdABcisd7dddj4Q RhWiO4Iy5MTGUD7PdfIkQ40iRcQzVEL1BeidP8v8C4LVGmk4vD1wF6xTjQRKfXHOwE0EWdWB rwEIAKpT62HgSzL9zwGe+WIUCMB+nOEjXAfvoUPUwk+YCEDcOdfkkM5FyBoJs8TCEuPXGXBO Cl5P5B8OYYnkHkGWutAVlUTV8KESOIm/KJIA7jJA+Ss9VhMjtePfgWexw+P8itFRSRrrwyUf E+0WcAevblUi45LjWWZgpg3A80tHP0iToOZ5MbdYk7YFBE29cDSleskfV80ZKxFv6koQocq0 vXzTfHvXNDELAuH7Ms/WJcdUzmPyBf3Oq6mKBBH8J6XZc9LjjNZwNbyvsHSrV5bgmu/THX2n g/3be+iqf6OggCiy3I1NSMJ5KtR0q2H2Nx2Vqb1fYPOID8McMV9Ll6rh8S8AEQEAAcLAfAQY AQgAJgIbDBYhBC3fcuWlpVuonapC4cI9kfOhJf6oBQJjTSJuBQkNOge/AAoJEMI9kfOhJf6o rq8H/3LJmWxL6KO2y/BgOMYDZaFWE3TtdrlIEG8YIDJzIYbNIyQ4lw61RR+0P4APKstsu5VJ 9E3WR7vfxSiOmHCRIWPi32xwbkD5TwaA5m2uVg6xjb5wbdHm+OhdSBcw/fsg19aHQpsmh1/Q bjzGi56yfTxxt9R2WmFIxe6MIDzLlNw3JG42/ark2LOXywqFRnOHgFqxygoMKEG7OcGy5wJM AavA+Abj+6XoedYTwOKkwq+RX2hvXElLZbhYlE+npB1WsFYn1wJ22lHoZsuJCLba5lehI+// ShSsZT5Tlfgi92e9P7y+I/OzMvnBezAll+p/Ly2YczznKM5tV0gboCWeusM= Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: psrf769y5e3gdw4ssyrf7nrmd9qxn6kh X-Rspam-User: X-Rspamd-Queue-Id: 21F7E100016 X-Rspamd-Server: rspam02 X-HE-Tag: 1720002791-62222 X-HE-Meta: U2FsdGVkX1+wiqKjpeo88EuMpf+kTxxiJgHl4r9UixtVLciZ1Mq/fDs8jjm1zJ6Yo6gStksQ8gNgKUcjs1W2t9t/f4GpjSAe5/u6pmAh0qS7407pREKO/SW0sfWBSc4/HdqTpy2lmFgxEyy5DS+hwyIDj7GyBOtum4QLznWziDs57SEpy4XBig1T3keRnUkWN3rql4c8ojP6FX4sEQqjoK7anRtZse6KwaHo/8ez7iNDXSABWutr1h96rlP56XrSn5jJV8SpUSRXoLdGKIIMGpYQZ0H6GVEMsAIHFdV+6QeZvMKVBbxjoSgqCyThqSwa0zzrOcvnNKxoK0v4oHVXd/yUqcA178CgwhKZzwsYAnKBWHkE4a/cRYLGgbPAnruuptvIHBpLeEoKKoFjGXRb+JFvIeNJDSF1/qM8kkYU6BVq4aX97u0zmZj8mECq2On5yhF/20455MZ+zOfsOSwXWW31TAhsSHxZKzrgIuMFXVJKP6qNN+mLJXGnNVp0kgwks9JMyepg2TERRoDjMANVljhDUcxFxtwenfqSfVP2R45+LnVAp0b9IkDXdUdSwOpirZ3HLm1Hi9m2YEfDhbooovGBE6AjGFdm3D3JLv9PqrCV4YQxEsv8vzDAao2tXFanS5ZLab/11qfaub70QkieQoThqh9tGfyjF2QZRaJ4ObyWL1qBG1slWZHS0AICukZAO4vp5lfLkLfccclxijSaynuCOFRjE04S/VV/j6vLCxHBt20Pjq03rbTBLOc0WvB8YbJgWDC9L4URBxl/RKmQyDj/1NR+8QU5YSCWT3EqS7WFc0NpEoHAQGGzWVePabYzTuCJfWTRflrnsPx72wRalITpahfoEnCbONCFjEkTjguDIadouxsdDt4qyvGm0NZnLhx60Yw90yOLo2wpUpzKyxE60fdmD8h+20+K1ubgSWdgO2rgnAynn9ItquJ8f4GSsG8i3kak0sEE2Fp+lkZ cBNjsNPU FTo8Jw8b7L8Ag3/slGlPxqz7i02CdOYB/nA+xogQy7dmdPX9NlHd9sI+TMktcH1QwCbwsHaryHiRDjOyls/iGNby2N/3BBgwvPngrQxdPUXIfmTqjUSP6lGRXk9dkMKvAlGzmke1ajm/UHDgAkLvTrylknQyjAuafkV4WejT+dGiC8J56bK1RzpNmNPxiwuIaRaG3bev8OSEoTdZTgVYoZIPYe+6dl8tUPoyYB6nN4IWYkqqMQdiAZJdgbG+lWIxPrEfz0/CKCusxQhnjpkyKs9mVp99IKnPgHYn4oFdPeq6vIfhqJCcvJWfOnAw5KEX1enPGrJkl8dbBI54DN1LYI09nw4V9UqkFISpNJjD8aiXaUsX/8341EKDbiwnaLFeArDVDAGxE9j2d1x4HyESt2ItUYcpZOGsJF+bs 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: Hi, Recently I'm hitting the following soft lockup related to cgroup charge on aarch64: watchdog: BUG: soft lockup - CPU#3 stuck for 26s! [btrfs:698546] Modules linked in: dm_log_writes dm_flakey nls_ascii nls_cp437 vfat crct10dif_ce polyval_ce polyval_generic ghash_ce rtc_efi fat processor btrfs xor xor_neon raid6_pq zstd_compress fuse loop nfnetlink qemu_fw_cfg ext4 mbcache jbd2 dm_mod xhci_pci virtio_net xhci_pci_renesas net_failover xhci_hcd virtio_balloon virtio_scsi failover dimlib virtio_blk virtio_console virtio_mmio irq event stamp: 47291484 hardirqs last enabled at (47291483): [] try_charge_memcg+0x3ac/0x780 hardirqs last disabled at (47291484): [] el1_interrupt+0x24/0x80 softirqs last enabled at (47282714): [] handle_softirqs+0x2bc/0x310 softirqs last disabled at (47282709): [] __do_softirq+0x1c/0x28 CPU: 3 PID: 698546 Comm: btrfs Not tainted 6.10.0-rc6-custom+ #34 Hardware name: QEMU KVM Virtual Machine, BIOS unknown 2/2/2022 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : try_charge_memcg+0x154/0x780 lr : try_charge_memcg+0x3ac/0x780 sp : ffff800089b83430 x29: ffff800089b834a0 x28: 0000000000000002 x27: ffffabe6d2b515e8 x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000008c40 x23: ffffabe6d2b515e8 x22: 0000000000000000 x21: 0000000000000040 x20: ffff4854c6b32000 x19: 0000000000000004 x18: 0000000000000000 x17: 0000000000000000 x16: ffffabe6d19474a8 x15: ffff4854d24b6f88 x14: 0000000000000000 x13: 0000000000000000 x12: ffff4854ff1cdfd0 x11: ffffabe6d4330370 x10: ffffabe6d46442ec x9 : ffffabe6d2b3f6e4 x8 : ffff800089b83340 x7 : ffff800089b84000 x6 : ffff800089b80000 x5 : 0000000000000000 x4 : 0000000000000006 x3 : 000000ffffffffff x2 : 0000000000000001 x1 : ffffabe6d2b3f6e0 x0 : 0000000002d19c5b Call trace: try_charge_memcg+0x154/0x780 __mem_cgroup_charge+0x5c/0xc0 filemap_add_folio+0x5c/0x118 attach_eb_folio_to_filemap+0x84/0x4e0 [btrfs] alloc_extent_buffer+0x1d4/0x730 [btrfs] btrfs_find_create_tree_block+0x20/0x48 [btrfs] btrfs_readahead_tree_block+0x4c/0xd8 [btrfs] relocate_tree_blocks+0x1d8/0x3a0 [btrfs] relocate_block_group+0x37c/0x508 [btrfs] btrfs_relocate_block_group+0x274/0x458 [btrfs] btrfs_relocate_chunk+0x54/0x1b8 [btrfs] __btrfs_balance+0x2dc/0x4e0 [btrfs] btrfs_balance+0x3b4/0x730 [btrfs] btrfs_ioctl_balance+0x12c/0x300 [btrfs] btrfs_ioctl+0xf90/0x1380 [btrfs] __arm64_sys_ioctl+0xb4/0x100 invoke_syscall+0x74/0x100 el0_svc_common.constprop.0+0x48/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x54/0x1c0 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x194/0x198 I can hit that somewhat reliably (around 2/3) The code is modified btrfs code (https://github.com/adam900710/linux/tree/larger_meta_folio), which does something like: - Allocate an order 2 folio using GFP_NOFS | __GFP_NOFAIL - Attach that order 2 folio to filemap using GFP_NOFS | __GFP_NOFAIL With extra handling for EEXIST. Meanwhile for the original btrfs code, the only difference is in the folio order (order 2 vs 0). Considering the gfp flag is the same and only order is different, I'm wondering if it's memory cgroup doing something weird, or it's not the correct way to add a higher order folio to page cache? Thanks, Qu