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 1EEABC4706C for ; Fri, 12 Jan 2024 07:13:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A17E26B009A; Fri, 12 Jan 2024 02:13:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9A07D6B009B; Fri, 12 Jan 2024 02:13:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 871486B009C; Fri, 12 Jan 2024 02:13:37 -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 7456A6B009A for ; Fri, 12 Jan 2024 02:13:37 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4F93D40654 for ; Fri, 12 Jan 2024 07:13:37 +0000 (UTC) X-FDA: 81669793674.01.03951F5 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf04.hostedemail.com (Postfix) with ESMTP id 8306040003 for ; Fri, 12 Jan 2024 07:13:35 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=GpLVydR9; spf=pass (imf04.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.54 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705043615; a=rsa-sha256; cv=none; b=ZwL+06B5KECIEjTzaNA0qX6tsKCdvKcme84IkM8SfOQmW9EPCXCWcZLPRpM99YesUEn/db 7xjbghX3B8NGksK0VobwO0+i2u6xhU6k3WlUpGjlGmX451cajFathEPFRYgWBxfQfTQS+g qJ2nPjJnl1dnH1Yo29qBAB7NDFHkxAk= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=GpLVydR9; spf=pass (imf04.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.54 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705043615; 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:in-reply-to: references:dkim-signature; bh=6tQu4nsPh4b4YQ2A5tMplv/TGxAwy411OzC1llZZH2I=; b=5FM1z2orb8K04Qv0PI0t9tzfepOooR7iWUhZ1RcyMRdoMzSwdw4VhUWkInHMD/YswK5Q8D njYT95eHdL8XdFav/pbYSDopMWrBZ2jkwxdLDvgKB6rDgDjmZKKWMgxQoHabGnjkdEQIlu EzZ7TCmVdyFC6HpNIq+/Hyvz/1cBN9I= Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-40e54f233abso30503095e9.0 for ; Thu, 11 Jan 2024 23:13:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1705043614; x=1705648414; darn=kvack.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=6tQu4nsPh4b4YQ2A5tMplv/TGxAwy411OzC1llZZH2I=; b=GpLVydR9MTxwObknH5TKbXvubwt2PZ3k34twW0lz/GXVydKeB8unI7PzjeFlwkSLgZ lOHbo8qJpAip6XnIirnuIKO9XV+q6FZIGM3ndNkKWDrCU83Y3tMpEB9HXgyVpHT/npkr SS1kq3fAKR83Ua5WVeOcHPhKdekv/ka8j8UzB0sTV4BBDU50Scyvff1d2fTfyM/R4jsT eSPzKZAG9KMZeGYf1UZWqM5EdAd2JYCeHH3vC+nu+9ZE31BMN0QCP3OMGIy8qIkYGEo4 AjFpVjc0tqOXAK4hnn8bsZVLFsC00qPsT3mD7amNCvevbEG7sYa5QYIFw422c6SVWtTV 6p5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705043614; x=1705648414; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6tQu4nsPh4b4YQ2A5tMplv/TGxAwy411OzC1llZZH2I=; b=vu7F9xhVkOLmvS88OEiMpyS29thUFKtQwfyf/v8Foc3taG7Ypi8PU7nctY6TZRfJND bC+5ZTCA6E5IcYNhLnLQqVKGHvCrhi2B6N3ouvRO9sDDiaeY3mZl22y34A3y8+VbG7Yv OPthf9s4YYcju9aruQrN9XAQEAyf8e0BsvanSq6bNJPI8z4S+cNUGzl0wtwuFdlOj218 H/v6J6UQ+ehVYLSaI7in/jNLIfuWJMdnaw4JDouoFH4hX5lD3CmPRXQhl/CAEgXgJpCG tfia3kTgpw7hcBkDUO7Ip+kgvayAUJtAqASVBBCRZI0n3i5blHsNCQT8bT9xGl35is4E EA5Q== X-Gm-Message-State: AOJu0Yzpq8BviK1YXvKzQwxC7uN+FtzRW6z9XaCUhw3MSumb13xkWXed VTa7G3WVOPYPkaVDOBuwnefryAdzIIIq7g== X-Google-Smtp-Source: AGHT+IHfIRcVLdKu0upXe83VET/JAl+Dpfa8F4Os2MpruCERUmA8wjiPXynjLAuEhmfEA/g45O8gyA== X-Received: by 2002:a05:600c:4291:b0:40e:485c:aabf with SMTP id v17-20020a05600c429100b0040e485caabfmr528681wmc.130.1705043613985; Thu, 11 Jan 2024 23:13:33 -0800 (PST) Received: from localhost ([102.140.209.237]) by smtp.gmail.com with ESMTPSA id s17-20020a05600c45d100b0040d3db8186fsm4714372wmo.5.2024.01.11.23.13.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jan 2024 23:13:33 -0800 (PST) Date: Fri, 12 Jan 2024 10:13:30 +0300 From: Dan Carpenter To: yuzhao@google.com Cc: linux-mm@kvack.org Subject: [bug report] mm/mglru: fix underprotected page cache Message-ID: <1eeadcc6-8c6a-4ba6-ab2f-1ec3b5d4730e@moroto.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 8306040003 X-Stat-Signature: whrdqkeso8stg5sf4udbhtzbnezf3eia X-Rspam-User: X-HE-Tag: 1705043615-811125 X-HE-Meta: U2FsdGVkX19RAkqO1v1eFCbiM+vD0DsLNwLXXKYyGcE0fckTLxaDEZEJ4kEAE/D2j1wKmpFOKgEGRgaXaYXi/aaIFAqOTkhrbT2PdOK1PT6TX3tJEre/z0aVjz713nnS8CgxxlXKVQLVWuIVLmJsogGjZJn+xkKFi/IKLQwJv7gDC7XB5yijD/g1g2493LX2EyIGVwiatsgUqSlaZXBjcNVsnxp7d12JDtHn9Y4uBIFKW1Di9iVhsOLxkrgQDSnjY2zltYd99Rts09rZejF7djGAbvBU71rKvzuYxGiuhoNKzstdVa/SugFt1g5Ccuf/i22RPIxRxW/zUY3CQe9lH5PE/91rD6R4Ly9p9rs/ZtXQtWn2Y5ATNQc9/vE8hzwQR6+n2FJ9MZE7+/u+DGo9gVGMQISIy+SP8gxygaVnqwSsdxUkGNE4xY66A6gX5LHUppEDnGOPKYuH4qKYdYz9gsdQSB/+0vJnG1HIHmJjcBcRfdQi8FP1/oI7/BuLmafo/EVqCX2AtcknR6TVNTqSCNLJrwDjtuA876U4/xdA/sNhldeEEpdzDYhjvVtFTJEQnCNCGJyGj26VpahupYNunbGiWOmFxrwYw0T1FBtclo0SjID7zvJb77KNNZHd6rLRkb/ZAnEFkh3B4YuyaaE8enHWg7aI/9xuAt/kZi/bagAdrvzFMsJvlLtXXMm+ii2J+mWOeBE+zuo69+XAtT0F45guMGiK1WUIzBX1pKBgTU0T6mWnczejJg4vn97XOP+sebLTAABSlW96lb/UV4MT0u2ygw94uqESQcjr+aNyLsaTQwK4o8w7OlLAqBWeCtK4TEhpSwNuYhv65dmZ0mKfRrwD0mhFZfZXYoIQpHEN6G6Azs7ChQh0ysOGheKPZ0w4YpGzWfAQTUgQ/NHFM2hv3eCJGJozihtwDcs21hCDe+oYqWFFTO38tXxnydImd07yzGtAm32YDaCS+9RXdEb gR38n7jF ME1w74c+0GysIEikuz6cPWeTQQTb1Sd/mHj1mukkGTkE7+PbNMFKtwtWwqjQDfWETIJ0zdyCUzzcUug44sBoU/njbgUnNbH8lC2ARO5a7eifFbNjrLniGx+e5MWc7rw1smM/EGBRrl3WNOK1DYGQYWdOc0VecNeK69FpMdMGleQO9Ch2y2UTSWebCH+Ngiv7DlRRBwuAx6pQ5YN1ZzbLtSokJqEXFjdoqmuJAUMBSfBuToCOmIdrr6m+5SIDTWbu/gcYPLP75oxANHXRbTnuf2Opc9A5YLVMQx9tK+29yy0LEEwI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.178731, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hello Yu Zhao, The patch 081488051d28: "mm/mglru: fix underprotected page cache" from Dec 7, 2023 (linux-next), leads to the following Smatch static checker warning: mm/workingset.c:318 lru_gen_refault() warn: always true condition '(refs >= ((((1))) << (__builtin_choose_expr((4 == 4), (((2) < (64 - 26 - 3 - 3 - 0 - 10 - 0 - (8 + 14))) ?(2):(64 - 26 - 3 - 3 - 0 - 10 - 0 - (8 + 14))), ))) - 1) => (s32min-s32max >= 0)' mm/workingset.c 308 atomic_long_add(delta, &lrugen->refaulted[hist][type][tier]); 309 mod_lruvec_state(lruvec, WORKINGSET_ACTIVATE_BASE + type, delta); 310 311 /* 312 * Count the following two cases as stalls: 313 * 1. For pages accessed through page tables, hotter pages pushed out 314 * hot pages which refaulted immediately. 315 * 2. For pages accessed multiple times through file descriptors, 316 * they would have been protected by sort_folio(). 317 */ --> 318 if (lru_gen_in_fault() || refs >= BIT(LRU_REFS_WIDTH) - 1) { ^^^^^^^^^^^^^^^^^^^^^^^ In my x86 allmodconfig this is zero and refs is always >= 0. This could be intentional, but I thought it was worth checking. 319 set_mask_bits(&folio->flags, 0, LRU_REFS_MASK | BIT(PG_workingset)); 320 mod_lruvec_state(lruvec, WORKINGSET_RESTORE_BASE + type, delta); 321 } 322 unlock: 323 rcu_read_unlock(); 324 } regards, dan carpenter