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 C0800C2BD09 for ; Mon, 24 Jun 2024 18:54:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2BF146B0103; Mon, 24 Jun 2024 14:54:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 26FE16B02E3; Mon, 24 Jun 2024 14:54:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 138056B0319; Mon, 24 Jun 2024 14:54:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E6A966B0103 for ; Mon, 24 Jun 2024 14:54:11 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 121D0161302 for ; Mon, 24 Jun 2024 18:54:11 +0000 (UTC) X-FDA: 82266682302.05.3E87E14 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by imf22.hostedemail.com (Postfix) with ESMTP id 2DBD7C0005 for ; Mon, 24 Jun 2024 18:54:08 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=O3RPPqSx; spf=pass (imf22.hostedemail.com: domain of yosryahmed@google.com designates 209.85.167.51 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719255241; a=rsa-sha256; cv=none; b=u1tHsxim0XzlKfBAaKwOGx2WFktLKfoF7FS8uNI+mZenGRCLlBn8N5dvr7JnEqQkjx1Zk7 zeu6BzEWzFfpWNqDrVHYC++q7E0Vsyq+GYbJvd0RQSOtrOqO1fM6JNUH19Oq06VuVF7E0F sINMt+ctmAKW8OD8nEkgBXyK5IK+sis= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=O3RPPqSx; spf=pass (imf22.hostedemail.com: domain of yosryahmed@google.com designates 209.85.167.51 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719255241; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JITYgpOr9aslHmnHx9NrvwoZeu+k4ldEze9CbONSH20=; b=SBM9FjdeMSh7jzov4Gpk6SC+dTFai/t1csq4c9xO+udFEZxiVI9mPEjdW0RWJGodoj9Rk+ uOtbhQuYMhiJLUbsjizIOonGU9oMNKOAcTUtgjVjtr5tiI/8jYi4BV/VPRzKmoDSO+e9ss 2DQFyyAYWao9cxWy1IJ1zDy0VEGChbY= Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-52cdebf9f53so2085067e87.2 for ; Mon, 24 Jun 2024 11:54:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1719255247; x=1719860047; darn=kvack.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=JITYgpOr9aslHmnHx9NrvwoZeu+k4ldEze9CbONSH20=; b=O3RPPqSxoY4dbjQiKANSlzFUNDQa4E2vEh1GO2HwGArJkcgh5COU9bw51nkj+S0/+k nIJwBlCyVAmTgzZCQdXCRXB/UWLbpXwvZA0X5DI5eNgeEApHkPCMQYDlOUs7m0J9F3Au 1nINabJsP9Hfb2Ai+jnEVRRvKr+u7RdCqlrjTl+bSgumEaV5qPYg14pBLz2uZFjnp+EN NI0Z1fAmeEmS2CXy1h7nq4GaHslqQyZq3qWpjUKODOZIw51VzIK/ima2qASAjzeoMnYx pl6fZwcFqnTqq2IVURgujCiZVDtLC6jiCQNvoKCxaRZ3dvniDB3Ah8+KCMlaF1WCTJ3c 3kwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719255247; x=1719860047; 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=JITYgpOr9aslHmnHx9NrvwoZeu+k4ldEze9CbONSH20=; b=kd5ZO0/ohr0hUaN8kbwTTGV4/9H4ahv22PnL0JL01HQCw97LMwuIBvEdHfxnYGyfr9 kweBn0ykhdmoV2ZbISkjTqgyHY/APN9DiJMllRNjO9vVmojNRyLckblfscgYE2bV/fmz pagdB9ECyXi81/OJDdyg9moWItvCWtiTmE+UhnBnfJZ+jAzjj0wXSt1lC3pLVZoFLA/r MxQdPTqg0L55hOsFDmftXa4wKck07b7mXRe/p2e1pn91foEmEMpulbyW95LgwiipbKmn BLKhMofcAET9kcAPYjhgU20RWkvcos9bUYGXSxnYzEMvayGmO4Cr8NqSUQTE5spDTuJ9 0mtA== X-Forwarded-Encrypted: i=1; AJvYcCVy2r3Lq2YQk+b0RGbcWvMJlHeYkUp4E4PKDMfguz1S8ffL0VPp/HYxO1auodFa+wOG9MdTrx57JbHb2MD+Z63UfEg= X-Gm-Message-State: AOJu0Yxy4dRAQ4qxa289RWL9TzG05cG7HBJdh0YzCC2U2mDWIkgpIYe5 hsEtqWzYyAx5WCGYAsXeO2uv94CoaoTW3Pq0iCB7ZgoLPwxw6xzF38V83ZzZM64e/nIk5L9LkiA wntq7IovX2VbvhNNOcG0ULMt2vws355EjFXOA X-Google-Smtp-Source: AGHT+IHN+UZEsY4/F0d/hc9WcI9bVuZWn15n0XvSIxPi4V2oZ1zThrKVoWzn+Cxvu/DteI9wNCqWv1/lFdtTFzA3stw= X-Received: by 2002:a05:6512:2083:b0:52c:e040:7d9 with SMTP id 2adb3069b0e04-52ce0680398mr3572378e87.59.1719255246629; Mon, 24 Jun 2024 11:54:06 -0700 (PDT) MIME-Version: 1.0 References: <202406241651.963e3e78-oliver.sang@intel.com> In-Reply-To: From: Yosry Ahmed Date: Mon, 24 Jun 2024 11:53:30 -0700 Message-ID: Subject: Re: [linux-next:master] [mm] 0fa2857d23: WARNING:at_mm/page_alloc.c:#__alloc_pages_noprof To: Matthew Wilcox Cc: kernel test robot , Usama Arif , oe-lkp@lists.linux.dev, lkp@intel.com, Linux Memory Management List , Andrew Morton , Chengming Zhou , Nhat Pham , David Hildenbrand , "Huang, Ying" , Hugh Dickins , Johannes Weiner , Shakeel Butt , Andi Kleen , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 191kiu9443mhedtu9mpozogq78e4zhtw X-Rspamd-Queue-Id: 2DBD7C0005 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1719255248-511503 X-HE-Meta: U2FsdGVkX1+kuEh2eIgD/eyDL1lUXIlySTijNN/IZzxyyeFXdp1qLf6yeubb8BCscPYKFNbrzxBYBZ/IR2PfVsS12KLlXgChtLYVtJ20xrW6r/hnRKacjkrxm8JI8EhrQNI1Wv5xHnYISRw7C4bEdNGBXMA7tSdwFTVX1Y3mamA5smSfVuQVDUtS0mJc6SbtEQRHkR31BWGTDc6hGzI8i+najGOKoP9gQfM8v3n1PDj7dNYPCf86NIUEdKsNVojr+CVgkdPHG96j8TLN9CLCtsuhxwYAkSrgN8KetYHx+WDc8Gny1m3iVYQxV41bIMIsuANTDs8m9CiDD1YMKHoVpWX9OO+PIICIJrTbScKNUx9JEAWt9b92lAq1QAe7dDEQSXxpHzoxTVi+NoRe7+qX22dmGnezqhlznQoP69E+1NICMg2r6YqCWhpspFsUNofxkuxYcpSA/2WgCRi8oAIC1R+ckoIJzww5S066MBEREKGgtt4nLDhsCrx6FMDX1q4lfIa3fFFuZhh5z2j8Q+weWDTaAG+LqFBlDUzMf0Pyz8+LeQPDW86qF08cvLY4QJRGSVwiNK58GYI0o/XI8fi+4nD3V3kBtU0lSJWqr+kbUamRLxyOOzLK+D+tSZxzxH8tKIhiKWqLtjSzY1GfT8xzeq/QpgYJin7twsuutBQfPcyE2EfdWcq7QU04xb3f4w7DdXSInVhhLM0C1w7SnrW3NLbT560oEsbZb2yal+jN2+GrjkFcMFXKwWyPyyPl5K+vNz8ocL4zbI5cImVD7PFftJSrPX2T6IGaF2BZsu/XxojL3s5r+nXjCIG9DIRWvqJ+GxvuHd6xgft7SxLCfL5W55WfTD2Se63+QFd16BTcC5bjy/409Z87KDyEL+EUdJ+Q77HAyAWXztaVw0rkxiHVROHoO6GPKOff1FBGMsP0R7ez3iHit4hEyyrcWLFTN5jhSwZZcV61saFcxK8tr5y 7z8jC7Ql C5/VLJEe9+n1zawY6Xu0CkdwlzxlQjKGF99Et2ULll1CGNHKpRGNZHiYz2JumJ3nJcLaZO44X5P8xlIfjQq/z7kQ0Tk+6bpkjdlVCKI2/HDXRZVY3vqj6dxKNz26ipFPnLmNq1sSJviTSU160BIPvMSTmQj7PJJQF8hDNnqzQ2y5PzRsUavFc86smuNOyp7CQIws5BMsWePPIlNilouzzpWw7WsJ6jAd3lSPGnelxW7vibfRQwtcrbCg/7gg9e4A/fKcq1ILQzxVtgXAjIKx+usq16P3MgpfGSSpsOGs6lezoEprpygeH3Pwgx2Dt7U7SWOE3k18BaoufQQuAvGksojW/wdEdhREK2t4Mu4YKpdF3Xxs= 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: On Mon, Jun 24, 2024 at 11:33=E2=80=AFAM Matthew Wilcox wrote: > > On Mon, Jun 24, 2024 at 05:05:56AM -0700, Yosry Ahmed wrote: > > On Mon, Jun 24, 2024 at 1:49=E2=80=AFAM kernel test robot wrote: > > > kernel test robot noticed "WARNING:at_mm/page_alloc.c:#__alloc_pages_= noprof" on: > > > > > > commit: 0fa2857d23aa170e5e28d13c467b303b0065aad8 ("mm: store zero pag= es to be swapped out in a bitmap") > > > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git mast= er > > > > This is coming from WARN_ON_ONCE_GFP(order > MAX_PAGE_ORDER, gfp), and > > is triggered by the new bitmap_zalloc() call in the swapon path. For a > > sufficiently large swapfile, bitmap_zalloc() (which uses kmalloc() > > under the hood) cannot be used to allocate the bitmap. > > Do we need to use a bitmap? > > We could place a special entry in the swapcache instead (there's > XA_ZERO_ENTRY already defined, and if we need a different entry that's > not XA_ZERO_ENTRY, there's room for a few hundred more special entries). After a page is swapped out during reclaim, __remove_mapping() will call __delete_from_swap_cache() to replace the swap cache entry with a shadow entry (which is an xa_value). So I believe we cannot use a special xarray value without making fundamental changes. We can, perhaps, try to pack an extra bit in the shadow entry. In this case, we will need to change the swapin code to check for this magic bit when looking up a folio in the swap cache, and extra synchronization to make sure concurrent lookups do not allocate and zero separate folios. IOW, I think it's possible but probably with more complexity, and perhaps not worth it.