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 10FE6C3600C for ; Sun, 6 Apr 2025 04:27:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AEC966B0005; Sun, 6 Apr 2025 00:27:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A9A7C6B0006; Sun, 6 Apr 2025 00:27:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 961A16B0008; Sun, 6 Apr 2025 00:27:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 796966B0005 for ; Sun, 6 Apr 2025 00:27:39 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 11001B0282 for ; Sun, 6 Apr 2025 04:27:40 +0000 (UTC) X-FDA: 83302335480.24.520528C Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by imf15.hostedemail.com (Postfix) with ESMTP id F01E9A0003 for ; Sun, 6 Apr 2025 04:27:36 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="NLCs/cq/"; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf15.hostedemail.com: domain of lkp@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743913658; a=rsa-sha256; cv=none; b=EQonyiPI4af4bcSr+J6UmRLNGhgMo3skovLLwfjRdiC2m2q92sAdxiz4ejqanFMoXbeg67 kBCJ2THKJqSUG0aG0EFcnZmIiEzZ1xxMpFVHBM/LYS5xjt9akt9u8xsWv14JwVjXh3Kdzp 3Rnt4pXBkaflPrERSvpKP6snY+ByJOQ= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="NLCs/cq/"; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf15.hostedemail.com: domain of lkp@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743913658; 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:in-reply-to:references:references:dkim-signature; bh=SXoUoZWOGEWd57WSSpFqOon7snDg5G2eFQW+RnqYkio=; b=QGpnYNskkg/yUvoMB/xzJ6UgaeZUoBRTcy1vJQhjsKYy4yK4CzPIaburWpBUf4YALUFQsT +rTJ7/gw9o8EFJbWytyXggruZCT/kAVhQFXu+vybKCNlQPSNXe+h7NOIgwzkGdIsuzz/LX tulXTUEir8r7Ct4h6ftzt5vXK0/FLHk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1743913657; x=1775449657; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=O7btUqfuVN1YAH6kub7YKm5WCHvlzLjyS/fJH/XHq3g=; b=NLCs/cq/dzYfFBad6OiC1oh3ZE1KwGCB5DELd7saVxuS0wv58blgjnpE vACLyUNiUTYt2IOUsUAp0mnQ9JM9/3wliUQ186IeS0tNT6x2ZaMwvrqOu IPbXv9U9NHBZ/HYR5kZBAWjZcIcoRZEu6He/4MUb3WpNIsb2BzW+KhrRU klEhNsOsrb+m2eE1NZJvzN/KzV6cM+bOcZKWTSj/OU5l6SPAPaW0Mz+uY mh4KpLw9DTFyEOqiL7E1Jz/0gRDmkpzXIy1XcNdwO2K7YJuAOhQhpM+pJ NV+iDc0sGPvdnXNxDKRtdcY0MJXltr32rzONDK33diDH2PvTHpfydAiAN g==; X-CSE-ConnectionGUID: zKcdA67JQaq5mVxuaS4CDA== X-CSE-MsgGUID: rI35k51ATf6AIpqaEAjqAw== X-IronPort-AV: E=McAfee;i="6700,10204,11395"; a="45451995" X-IronPort-AV: E=Sophos;i="6.15,192,1739865600"; d="scan'208";a="45451995" Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Apr 2025 21:27:35 -0700 X-CSE-ConnectionGUID: 5gbXp1nST4GLoL1QIFuW8Q== X-CSE-MsgGUID: l4qFjh0ZR4OocMypNpzb2w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,192,1739865600"; d="scan'208";a="127956790" Received: from lkp-server01.sh.intel.com (HELO b207828170a5) ([10.239.97.150]) by fmviesa008.fm.intel.com with ESMTP; 05 Apr 2025 21:27:31 -0700 Received: from kbuild by b207828170a5 with local (Exim 4.96) (envelope-from ) id 1u1HbV-0002RD-1V; Sun, 06 Apr 2025 04:27:29 +0000 Date: Sun, 6 Apr 2025 12:27:28 +0800 From: kernel test robot To: Waiman Long , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Tejun Heo , Michal =?iso-8859-1?Q?Koutn=FD?= , Shuah Khan Cc: oe-kbuild-all@lists.linux.dev, Linux Memory Management List , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org, Waiman Long Subject: Re: [PATCH v3 1/2] mm/vmscan: Skip memcg with !usage in shrink_node_memcgs() Message-ID: <202504061257.GMkEJUOs-lkp@intel.com> References: <20250406024010.1177927-2-longman@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250406024010.1177927-2-longman@redhat.com> X-Rspamd-Queue-Id: F01E9A0003 X-Stat-Signature: px1nagtdzzs4sffa7py7s87bznn6pypy X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1743913656-171333 X-HE-Meta: U2FsdGVkX1/QWwqEjOQ0Tw/xBb3fmmOk3j9cbBnF3EXCcmapETL6WZ1xIilMHqrbWZnfGMoXw8GO0XdHm9b1n788dcAJewE2YzigxPX7exezdxvVz9m9mu2qX81RnfR7QlPYw5xVOtLz96Bw1l4lstgkl7XWa+sNGogWYg5cjgdrjiW+mjLe8FTDEGnSME10tkC3SfYp+3ShkhghoOyBhKYypJwrFjnV9EDL7PwFEjFIgpt3kGTrhWKgRk6WG36Wn4ssFSdATavcxpj54gqmin5CVLEBmBYYxsu8kOpw40rjvLnNjZt7Fyt4in3LLjF4AX72pT3HXH6ghyu61smGNqRDJ3l3unporPjny0HQXZ5Hj3p26O1vu10iCOUorMi5MO+khn+MgOMzLlUVU2kWo1S537sJ7Tw3ZchmbM+YNoDrM7ko9HYYU9SgFrMUt33V/qqxrVO+orbml9yN+17GWDnJWLDhblWmRDz343eWAdOuBhpLz4Ow6SGIb6sSpfs3DGCjY0dr+DUsEctnfLcSwjmrixNTO/fDDmFjgLf4Llu7XCC9Lh5sWoqaBPZ4C+3BnNcgUS5uarQGP+XU5M5IZt4fDqnnJpbLrVZ2/1jOrkK0j9NErG8Q10oMzs+ReOKI6SFHCVUf64nNVV+MJac+jxgmmONXAhVrXApDqp8GKLhC2r/RdzTrLCZwnoxCzK7ZRtMUatXDZTn+LVCnG12F863Rwog7w721dlxnk89WMbL8MxfcNpr8WtiBbhFGcCJS+x5zbksTuTbI+FiOx8Yge8CBTO9PD3eVOSfPjt98Ez075gNgMXUwUAgPg14iWTSehelEVqT/GZ/LV+KYIysVKuOQ5GU3HlINVzHn37l2AFU9pmx1qQB5llbWfyo1uiK+kKnF78VgzxE5lysQuYWLqa+7HvGlUEz0DnSs6jR51L2eeUn2chM6ufcaJgLLpKPdUPMUK2R/Cql/B957fjr 9WA== 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 Waiman, kernel test robot noticed the following build errors: [auto build test ERROR on tj-cgroup/for-next] [also build test ERROR on akpm-mm/mm-everything linus/master v6.14 next-20250404] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Waiman-Long/mm-vmscan-Skip-memcg-with-usage-in-shrink_node_memcgs/20250406-104208 base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next patch link: https://lore.kernel.org/r/20250406024010.1177927-2-longman%40redhat.com patch subject: [PATCH v3 1/2] mm/vmscan: Skip memcg with !usage in shrink_node_memcgs() config: arc-randconfig-002-20250406 (https://download.01.org/0day-ci/archive/20250406/202504061257.GMkEJUOs-lkp@intel.com/config) compiler: arc-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250406/202504061257.GMkEJUOs-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202504061257.GMkEJUOs-lkp@intel.com/ All errors (new ones prefixed by >>): mm/vmscan.c: In function 'shrink_node_memcgs': >> mm/vmscan.c:5929:46: error: invalid use of undefined type 'struct mem_cgroup' 5929 | if (!page_counter_read(&memcg->memory)) | ^~ vim +5929 mm/vmscan.c 5890 5891 static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc) 5892 { 5893 struct mem_cgroup *target_memcg = sc->target_mem_cgroup; 5894 struct mem_cgroup_reclaim_cookie reclaim = { 5895 .pgdat = pgdat, 5896 }; 5897 struct mem_cgroup_reclaim_cookie *partial = &reclaim; 5898 struct mem_cgroup *memcg; 5899 5900 /* 5901 * In most cases, direct reclaimers can do partial walks 5902 * through the cgroup tree, using an iterator state that 5903 * persists across invocations. This strikes a balance between 5904 * fairness and allocation latency. 5905 * 5906 * For kswapd, reliable forward progress is more important 5907 * than a quick return to idle. Always do full walks. 5908 */ 5909 if (current_is_kswapd() || sc->memcg_full_walk) 5910 partial = NULL; 5911 5912 memcg = mem_cgroup_iter(target_memcg, NULL, partial); 5913 do { 5914 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); 5915 unsigned long reclaimed; 5916 unsigned long scanned; 5917 5918 /* 5919 * This loop can become CPU-bound when target memcgs 5920 * aren't eligible for reclaim - either because they 5921 * don't have any reclaimable pages, or because their 5922 * memory is explicitly protected. Avoid soft lockups. 5923 */ 5924 cond_resched(); 5925 5926 mem_cgroup_calculate_protection(target_memcg, memcg); 5927 5928 /* Skip memcg with no usage */ > 5929 if (!page_counter_read(&memcg->memory)) 5930 continue; 5931 5932 if (mem_cgroup_below_min(target_memcg, memcg)) { 5933 /* 5934 * Hard protection. 5935 * If there is no reclaimable memory, OOM. 5936 */ 5937 continue; 5938 } else if (mem_cgroup_below_low(target_memcg, memcg)) { 5939 /* 5940 * Soft protection. 5941 * Respect the protection only as long as 5942 * there is an unprotected supply 5943 * of reclaimable memory from other cgroups. 5944 */ 5945 if (!sc->memcg_low_reclaim) { 5946 sc->memcg_low_skipped = 1; 5947 continue; 5948 } 5949 memcg_memory_event(memcg, MEMCG_LOW); 5950 } 5951 5952 reclaimed = sc->nr_reclaimed; 5953 scanned = sc->nr_scanned; 5954 5955 shrink_lruvec(lruvec, sc); 5956 5957 shrink_slab(sc->gfp_mask, pgdat->node_id, memcg, 5958 sc->priority); 5959 5960 /* Record the group's reclaim efficiency */ 5961 if (!sc->proactive) 5962 vmpressure(sc->gfp_mask, memcg, false, 5963 sc->nr_scanned - scanned, 5964 sc->nr_reclaimed - reclaimed); 5965 5966 /* If partial walks are allowed, bail once goal is reached */ 5967 if (partial && sc->nr_reclaimed >= sc->nr_to_reclaim) { 5968 mem_cgroup_iter_break(target_memcg, memcg); 5969 break; 5970 } 5971 } while ((memcg = mem_cgroup_iter(target_memcg, memcg, partial))); 5972 } 5973 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki