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 F0575C77B7C for ; Thu, 3 Jul 2025 16:47:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 52DCC6B01FE; Thu, 3 Jul 2025 12:47:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B1FD6B01FF; Thu, 3 Jul 2025 12:47:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3A21E6B0200; Thu, 3 Jul 2025 12:47:24 -0400 (EDT) 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 1DD566B01FE for ; Thu, 3 Jul 2025 12:47:24 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E19D6B85F4 for ; Thu, 3 Jul 2025 16:47:23 +0000 (UTC) X-FDA: 83623533966.16.83E3E0D Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf01.hostedemail.com (Postfix) with ESMTP id 0551140016 for ; Thu, 3 Jul 2025 16:47:21 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gp0D57Cp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751561242; a=rsa-sha256; cv=none; b=yKR2G3ufG8oz8G/SpUjJ2a0TqGFLlI9Pj8NlGxk0IfgcMWt2BUnSYGM8nyRTdiLEOLu8uN fZVRT0jAYB3BLENS+mb059+R5wA21l5eB7V7u/w/cFq1JDvDAnIXlH3xzlVK7tHAxRo3qL kV7yIxCRjClRtlMASm8NT0kpltNar+c= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gp0D57Cp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751561242; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LzPrs/cw6/T8P+hvS+w5GXjybxPCP9SB4/u8tu5ZvA0=; b=DrHs9NCMJJsbdZ70zhQgDAwKb6TA7cwGW0o9f39MlCkfP9WAo71TYhRgI86tVUEwn1TKbe 4vJlYJhiabe/EmhBsft9zVBIewzLyfPwQikMbocCXCK4dthQ7bpfdS4Yc1ubl2/aRTQ/U+ Au02p4aXIQ+6IhzCFX9j7bzSFmYi96o= Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2350b1b9129so1476195ad.0 for ; Thu, 03 Jul 2025 09:47:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751561241; x=1752166041; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LzPrs/cw6/T8P+hvS+w5GXjybxPCP9SB4/u8tu5ZvA0=; b=gp0D57CpDCPhydy5gtBNMOJ1fcKF67NJQ3Bzxmei1gPER+wyGGpdFp2D4yF1sxAY/T y8ACFJnWq0ww8RET19zyRtiGy6Vv/M3TT+bwU/fGO7xqxspp2XqZNzKUfs+owQZsU4NG imoargh/uunVYta6GDn904nFSdxM3zcoLfXpuCw5BWRv5ZV4Ys7FJCQdUCCcdV8LzfxT mmzk7N6WO6ssatdK6FH3JEQLkIIqd3uhz5TZWQXyMG3aGmWoKQI/gTfh1yi9kte9mWZo axpbdKq+GmM/YstTbioTrWAt9mIL5gwHue22uU6FfqB3H9IohPwVvf+hS/rMI45vUil8 TIWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751561241; x=1752166041; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LzPrs/cw6/T8P+hvS+w5GXjybxPCP9SB4/u8tu5ZvA0=; b=wSu5SV8bzF3zS3Djh0L/q6nnsLxf2Y5urdm6R8X/0sTEqEWiK1xotL0pCFY+3pvzC0 mFSTH5NyNyXC07e/Gh5wJ/9/f65SupK6oX9PfAnN2CeHAfTtaGjRF+3cdFw/kQDZdStM symCIqOH1jvV5PeoocKADHOWflaSPiK+WEsxdOaqO7YE0Nuqjdvihg2Vy9johSbI+2wa CpslvJhOsMvPUv3SfmOySKHx7OsWm37n262nDE2wrDzJl+fp1mUrVguWxUW86ocMKElH 0XILnvCWA+I3VVhclQQ0wO1hWVugtrQ4zqEQbmkxrW/MIVxIviBEu1Z/AEyu2K1fTast bh8A== X-Forwarded-Encrypted: i=1; AJvYcCW01Rz7fRMvtw6+ifT7r8PPSCUeSxqMTekywBlwM3W49qDklDq0cutsddRs5tIXV1X3d6KIUskj3A==@kvack.org X-Gm-Message-State: AOJu0YwXlnkB5YTZe+L3EGF/sBt08pJ43RONsvmhCNVzm983JyrHewIk jDgKvRciOQSSAtyZ32x1CmYoZBBztvbw2hsyqP8Wv1iaPq+6k6RUwXux X-Gm-Gg: ASbGncseYbAgCBmiO8+Zn41+EpdAKwaZUFoULA/03ojeB53R1Ab4lr/IawgExHiS5sC xw2QTBfrgtsCZqNkvQSS+/Ay0f8Q2RrO4owFwyg7TMJlEL1k+Ie96J/bB46yn84LVLn2Bnrwrfw hihDnRZwa2fy8Oxf7R/Hv5DYSWGUJQguNQwbrpgvN9VQPgmVH5//iTcWylpuhevXXDr2fH6gHUL rZW2GD5CQV0JqVOc+Q+3nN9+QArBVxnzVIVmKGsGKrrhxbzn/Y/MwWylcXbP3AXmVrQFC1/Gonh XAu7+tqPpB7c5L6K3sdMcCX9trDkypxUgm2cZkz9DZU4nfYM1NsKrxYN X-Google-Smtp-Source: AGHT+IEd1BiAxp7iO+s7y67gtPGe/U/cvIipcgPzIxO7BSfY4uZv8ogk4V/ZUl/rIjo55tQr2w+uIw== X-Received: by 2002:a17:902:d48e:b0:237:ed8e:51d4 with SMTP id d9443c01a7336-23c797a854fmr67215695ad.24.1751561240756; Thu, 03 Jul 2025 09:47:20 -0700 (PDT) Received: from localhost ([2a03:2880:ff:4::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23c8455b966sm84775ad.101.2025.07.03.09.47.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Jul 2025 09:47:20 -0700 (PDT) From: Joanne Koong To: miklos@szeredi.hu Cc: linux-fsdevel@vger.kernel.org, willy@infradead.org, linux-mm@kvack.org Subject: [PATCH v1 2/2] mm: remove BDI_CAP_WRITEBACK_ACCT Date: Thu, 3 Jul 2025 09:45:56 -0700 Message-ID: <20250703164556.1576674-2-joannelkoong@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250703164556.1576674-1-joannelkoong@gmail.com> References: <20250703164556.1576674-1-joannelkoong@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 0551140016 X-Stat-Signature: i1cfg43yj3jccdf5ndgnnmj49n9piubc X-HE-Tag: 1751561241-764075 X-HE-Meta: U2FsdGVkX189RJG91JttUJjX+ZAzD9Fj6+r0Aveii9auPbzWyNUy4qUue4JUOO6CyJCihCy4RWWEGCrqLf8DldOE737kMkrSZUpXlbp1ZlS8rmAcj+G8yy6bfLHamP9gy5Xtq6/EojP9odWRNHFDZ5PT71S4IgV7ZHPWRwvFl/QPgsvzOv1h6iCeTJCGDhlV4GfON4EL4y4nijKNiFYTquL+BD9Zg4+1pwejN3rA9pp4rFpH4bnvmhMRiSPj4uXrm+sOZTE8MKJVqbRrmbcsMnnG0pZr+1CF3JyhpzBf/xuRq80Q8hJRKUY88fDlCR7uxWrDOgITCUPX7ZivsHw1Ig4AJuWdlQbHGRl4NIezmiFVyVL0bZOjoLDzzSmzwdcnxMfHA984tl2zwJl6/rgklCvxv76pOCohGAEpvOfapve1RkJupdoM3yT6/5wyp7xzJAJAH8cEhAGbV0xLzj39hjNcPrtvllx1i+qlBmRXZSNGDcclNiEAYjlE+UhnVGqL97HkFLVCFIbRuJVsD28YnRSYOW66aA6/u7lAzU3ghv0OOFVT43H3OIU3HuWdHCzm740jSrY34OHTeGATpqKRjzR1HQkE3Er/mN9eeVz/IgHHW3RnLCLvMkM9wKwjm6bVwVo+5WRAI2Zl3rsW+AN7D5BYj6l198MmnjgETBdTI6M7r75Atx/Wc9/VJ9soCgNkQ141Rwi7uRIUSnzAkSFHiK2LgczgzisZGMmZce/cC4M4mR20MRe2+IWLOTjQBB3sYDjQwUngANMJccPBurLNQ08fPJjxZ8EOEzlvsBcihIIjRAIpsTCQyF6roSG3WdSriEw/m4mJT6kXDId2GN2KR4zin+TgDwMZ8pQWjD+EUmtZaCVLXDQi8Al/21S3ZdBWSl5FlaxMj/hcb8gosyx0hQm1KmIHBFtl1raeHzy2obSjhXLhgZ6fhfPsBkOA8Ss29VaXwvjehc6yhvYxRMw W25ji3XQ mjaDve2VCF9Xpr+uWXYKATmxG8FqVz2H7BoOxpmAbwbFnnoDof80ET7ey78p2J394djH721aZOpFBN3TgUX3/D7cW6hjdCXftJVZTPFbsELrG0JTnwMdRTbJA5aAqZkujNv+pLQY5c0yFlhYkpxAn+RbLKq607a4tA4dhZROUikkkGU6VCdB/qkHfQYj6dNfDmdFbtD0Zb4RvXc97LvRHpBMV0aQA+kw2AeOEM5a8cIIiEMFD/XlV3w3VxoghL+20GMHlzl6Hg/FammlJGGE1qTfsBdFVcwmWVjeMfHVmrYu19EPGCuX82ZaWxbJY2o/+i828yVMlQ8VWqnuWGzRDtGXHTM+sqUK1lfmVGJ+cjOiGIZ8WlMvk6bCOZrWYJTezYaDtGbYlYUuvxl5Xam41HgJwP3CTFV22cclBMlsq5+erwoo81t9n9mkA2/BbiXvCaGxcBoLK4h0m9cKcIRLZrpFb/tQ+rb3Fk68C5YryRjo5/uc+6NS+0Mtk8rOebQylXQFEfFdWf8kPUrIm2JiRJ9DYPS90Gvlo8r8zaP4fcDT7/ZA= 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: There are no users of BDI_CAP_WRITEBACK_ACCT now that fuse doesn't do its own writeback accounting. This commit removes BDI_CAP_WRITEBACK_ACCT. Signed-off-by: Joanne Koong --- include/linux/backing-dev.h | 4 +--- mm/backing-dev.c | 2 +- mm/page-writeback.c | 43 ++++++++++++++++--------------------- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 9a1e895dd5df..3e64f14739dd 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -108,12 +108,10 @@ int bdi_set_strict_limit(struct backing_dev_info *bdi, unsigned int strict_limit * * BDI_CAP_WRITEBACK: Supports dirty page writeback, and dirty pages * should contribute to accounting - * BDI_CAP_WRITEBACK_ACCT: Automatically account writeback pages * BDI_CAP_STRICTLIMIT: Keep number of dirty pages below bdi threshold */ #define BDI_CAP_WRITEBACK (1 << 0) -#define BDI_CAP_WRITEBACK_ACCT (1 << 1) -#define BDI_CAP_STRICTLIMIT (1 << 2) +#define BDI_CAP_STRICTLIMIT (1 << 1) extern struct backing_dev_info noop_backing_dev_info; diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 783904d8c5ef..35f11e75e30e 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -1026,7 +1026,7 @@ struct backing_dev_info *bdi_alloc(int node_id) kfree(bdi); return NULL; } - bdi->capabilities = BDI_CAP_WRITEBACK | BDI_CAP_WRITEBACK_ACCT; + bdi->capabilities = BDI_CAP_WRITEBACK; bdi->ra_pages = VM_READAHEAD_PAGES; bdi->io_pages = VM_READAHEAD_PAGES; timer_setup(&bdi->laptop_mode_wb_timer, laptop_mode_timer_fn, 0); diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 72b0ff0d4bae..11f9a909e8de 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -3016,26 +3016,22 @@ bool __folio_end_writeback(struct folio *folio) if (mapping && mapping_use_writeback_tags(mapping)) { struct inode *inode = mapping->host; - struct backing_dev_info *bdi = inode_to_bdi(inode); + struct bdi_writeback *wb = inode_to_wb(inode); unsigned long flags; xa_lock_irqsave(&mapping->i_pages, flags); ret = folio_xor_flags_has_waiters(folio, 1 << PG_writeback); __xa_clear_mark(&mapping->i_pages, folio_index(folio), PAGECACHE_TAG_WRITEBACK); - if (bdi->capabilities & BDI_CAP_WRITEBACK_ACCT) { - struct bdi_writeback *wb = inode_to_wb(inode); - wb_stat_mod(wb, WB_WRITEBACK, -nr); - __wb_writeout_add(wb, nr); - if (!mapping_tagged(mapping, PAGECACHE_TAG_WRITEBACK)) - wb_inode_writeback_end(wb); + wb_stat_mod(wb, WB_WRITEBACK, -nr); + __wb_writeout_add(wb, nr); + if (!mapping_tagged(mapping, PAGECACHE_TAG_WRITEBACK)) { + wb_inode_writeback_end(wb); + if (mapping->host) + sb_clear_inode_writeback(mapping->host); } - if (mapping->host && !mapping_tagged(mapping, - PAGECACHE_TAG_WRITEBACK)) - sb_clear_inode_writeback(mapping->host); - xa_unlock_irqrestore(&mapping->i_pages, flags); } else { ret = folio_xor_flags_has_waiters(folio, 1 << PG_writeback); @@ -3060,7 +3056,7 @@ void __folio_start_writeback(struct folio *folio, bool keep_write) if (mapping && mapping_use_writeback_tags(mapping)) { XA_STATE(xas, &mapping->i_pages, folio_index(folio)); struct inode *inode = mapping->host; - struct backing_dev_info *bdi = inode_to_bdi(inode); + struct bdi_writeback *wb = inode_to_wb(inode); unsigned long flags; bool on_wblist; @@ -3071,21 +3067,18 @@ void __folio_start_writeback(struct folio *folio, bool keep_write) on_wblist = mapping_tagged(mapping, PAGECACHE_TAG_WRITEBACK); xas_set_mark(&xas, PAGECACHE_TAG_WRITEBACK); - if (bdi->capabilities & BDI_CAP_WRITEBACK_ACCT) { - struct bdi_writeback *wb = inode_to_wb(inode); - - wb_stat_mod(wb, WB_WRITEBACK, nr); - if (!on_wblist) - wb_inode_writeback_start(wb); + wb_stat_mod(wb, WB_WRITEBACK, nr); + if (!on_wblist) { + wb_inode_writeback_start(wb); + /* + * We can come through here when swapping anonymous + * folios, so we don't necessarily have an inode to + * track for sync. + */ + if (mapping->host) + sb_mark_inode_writeback(mapping->host); } - /* - * We can come through here when swapping anonymous - * folios, so we don't necessarily have an inode to - * track for sync. - */ - if (mapping->host && !on_wblist) - sb_mark_inode_writeback(mapping->host); if (!folio_test_dirty(folio)) xas_clear_mark(&xas, PAGECACHE_TAG_DIRTY); if (!keep_write) -- 2.47.1