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 EDFE4C2BD09 for ; Mon, 24 Jun 2024 16:56:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4FCEF6B0085; Mon, 24 Jun 2024 12:56:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4AC946B00D5; Mon, 24 Jun 2024 12:56:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34D6C6B00E7; Mon, 24 Jun 2024 12:56:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 158F56B0085 for ; Mon, 24 Jun 2024 12:56:42 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7DB20C0F64 for ; Mon, 24 Jun 2024 16:56:41 +0000 (UTC) X-FDA: 82266386202.18.EC4DBE7 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf23.hostedemail.com (Postfix) with ESMTP id AE71E14000F for ; Mon, 24 Jun 2024 16:56:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="0sRkuF/c"; spf=pass (imf23.hostedemail.com: domain of yosryahmed@google.com designates 209.85.167.45 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=1719248193; 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=Tgpq1QF/Ve4mEImU/Kh0C9TjVcEEm8pShiW7TRID6w0=; b=URjPpN4shfLoSIZJt/eNJRAW6Lhqa3QP3qDQgDkJFGCdgtdV9/OSDnq5VJ80rhhnVmWmCE zy11ACcOxiI9guCjMYjQaUUE8j0jSP43iD12uH77EZvnlfVXOkb6Z3EKUBeSCGPgL2pbfM Me/Hmam6cpmnL/cdwasN9FvEwaVoKho= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="0sRkuF/c"; spf=pass (imf23.hostedemail.com: domain of yosryahmed@google.com designates 209.85.167.45 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=1719248193; a=rsa-sha256; cv=none; b=H7e6GiPJ9GV5lZBYlP7D3P8uvtLgE+zbA+/DumxhWcJRIEQX0cjq1hHGUuUUMmj7inoaPz Y02Q8NZDUvtit4cd8hEyFl0HdtcH74tHMciFxxc0ZSPzh52kLjO4k2+arg+PmB77omeglo hqEJH94VQCBKaVOg+aamkhdFUTMsWuw= Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-52ce674da85so1287159e87.2 for ; Mon, 24 Jun 2024 09:56:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1719248198; x=1719852998; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Tgpq1QF/Ve4mEImU/Kh0C9TjVcEEm8pShiW7TRID6w0=; b=0sRkuF/cxKZmgo4Q/fv0/BzH8fp1zDac6g1nmBJzD5aa+yT5K1gbgnIJaox02GLcqm HrWg1hSTuTLMdRrSEMAhGzf0h4yVevYGcloPhPg8sbl9YceTyeqEyeTR2PW2XR9QZKtP mW5G9nLVWwnLBjMzHlYgLzC0+sIcO9Hc0oYFmCTMU8PVmjbuSN2iaAkgytCXxA2ye9xJ bSZpI4RGl7Li+Jy92DEYZdHVkd5G0IWdIhN9v/BDtqqTCqEnkDqhTWYJ9eEAIRFb//qZ HS/I560GO0CYXbD/wP8Aj9kS6gKKgln0kmGpZtZxY+XvpRPx645VwL1FCcoJ+xJyId/0 zD1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719248198; x=1719852998; h=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=Tgpq1QF/Ve4mEImU/Kh0C9TjVcEEm8pShiW7TRID6w0=; b=gEdCFB4OiI/7KhsfEpneyBAETAJfnfHBzSXYQNt4SKdBotpZARYTh/JOWNDDPDElfA 2Hi4K1cXIA1t29Jf8PCLNaDen8uS0nrFPqfOJhJxXU2dbGWEDov4fFdxc53pVDUkaD+o 50YJ7UtCEh1hgJq96udyahoG1l4yq3z7t3Z7PpOpSUBU2M0su2yi8C5Wqau//qDMG3Yp rl9QZT702ktNZ7jax0JYA5vxSVU0iP7uIJZGsRgPlJgaskvn9VKsTPKhbDMG/5hmihHb 6Ubwc0ev24qRTGUkx5w0ht2AcUITpIZRmtL08d+yVz9TJ+djtwven+07RAmxQoYVQC6j +r3w== X-Forwarded-Encrypted: i=1; AJvYcCViPhLLK3tY17efjkG0znZQ3iTof4gb2FtBaKmtXAAeC6LXfN+8hRsVc+yxNTY0wZu7DLOpTXgxn6FHGKkdjOgmfCQ= X-Gm-Message-State: AOJu0YxL45HpJ02t6WRtc3FGEEdoGzQW5eQdvU3Ai5I9Xi9zZJ8y+5kD 9ETNgPElM0rw9G5ccR3/HGzl/mAP6qXTMGRWfRCNmaA1D7HKEoMQ6SrytYRRa9XJTACgPlneVDs dbpyjoO92huEIaycGdRIWc31PzSjxBO64TT/i X-Google-Smtp-Source: AGHT+IE8sFWItYyQrcc7D82fyGAeyAkoAiXZQQd6SdE0goCRpyIPtEQ4YkvGbn4Lbkqv8o2yAvJGQIZLNEPiIHqc+nM= X-Received: by 2002:ac2:5de7:0:b0:52c:e05f:94a1 with SMTP id 2adb3069b0e04-52ce186282emr3466994e87.68.1719248197229; Mon, 24 Jun 2024 09:56:37 -0700 (PDT) MIME-Version: 1.0 References: <202406241651.963e3e78-oliver.sang@intel.com> <12fb19d1-3e57-4880-be59-0e83cdc4b7f1@gmail.com> <61d19ec8-2ba7-e156-7bb7-f746dae8e120@google.com> <5b3e732c-d23d-41ef-ae5c-947fa3e866ab@gmail.com> In-Reply-To: <5b3e732c-d23d-41ef-ae5c-947fa3e866ab@gmail.com> From: Yosry Ahmed Date: Mon, 24 Jun 2024 09:56:01 -0700 Message-ID: Subject: Re: [linux-next:master] [mm] 0fa2857d23: WARNING:at_mm/page_alloc.c:#__alloc_pages_noprof To: Usama Arif Cc: Hugh Dickins , kernel test robot , oe-lkp@lists.linux.dev, lkp@intel.com, Linux Memory Management List , Andrew Morton , Chengming Zhou , Nhat Pham , David Hildenbrand , "Huang, Ying" , Johannes Weiner , Matthew Wilcox , Shakeel Butt , Andi Kleen , linux-kernel@vger.kernel.org, "Vlastimil Babka (SUSE)" , Yury Norov , Rasmus Villemoes Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: AE71E14000F X-Stat-Signature: m5g9zf16fixkbmu4jhfygnsoyfua3dji X-HE-Tag: 1719248199-778041 X-HE-Meta: U2FsdGVkX1+mZeAsdwzVV9BuBCbMdQg3xmsaTuylVI2d+6I+WEyclNSNIY+NO7qBKH2EOsm92q3hmLzsWddlZmKzrMFVeAWGIN2vJNg2c+TrDJDpwRXblBVE0/BHAwBhd7OwmduxMgxYmz6BdQOxV5Pq2mYUcww/s8vykPpyr9AEC/auv7LNfbOYZXe2esDT12atnXz+oBHgYAsWuXoono9mOd9Cjl/jqFyl+FibWoX247oHomeztTSmPDlFFK6TnrhCW5YcG8qE20bmJpUIl4c+zZcRjgkV5rmy/+HdbcooUgXmNrhuscN3p03raG59//OFf1lPXFDft7uJ2CUMWheaORKIGAc8VHx8xtSxod8p3bs/mVQdzxyxA71NywcTAUiXrIU476jROnpSdL86PAQF8Du0YBVmZwHmmPhAXUoR0wFdamiODq3Y9diy8BE6IjqD1bQZJNQ6aVKR/FnJPDDFK4oliy2q3/+ur+khB3G1eBTmw1g+Puw1WvUKk3hDwJETPkC2CaXntopUirT41XV/yS2aHz4eUjCUFZ6TUcIQoSg6Aln80kMBCBnHz5avyZdiZ5QLTB+K7gCeofiJOCN8VOrLWJtKzcUTr4V9SKBo6xL3YlKsCfFny+8B/byS9MQTiqmRFejzU0r96WbKK1OehsMiXAk43P/JNIF+pNHQQZvEsWzRO0ZJWzzCstgsJ6LEw3qISmauiTD3Y+iMf7nGEmu0RjiJWqOmQeLZ0n0XiH/+Vag/8UNd/aidUoRv2my1JVStaaJBNC+sOkAdOI36ozYdIvMPGWsvzVy8Gi3QcTlZHeV5xIRpHZsmWSkee2kYJaDIwBECqXiL/V0g3YnYMDkQLJ+RQ0E8jTI8VaOyp1dlBA/USLQu9oMFRqrUimXSBVGoX2xEdWIvB8J2QMnqPlmPZh14oJEwyfYyd3ckHs1EWd99IuOR/WZ5jZRo9kX6k7CPeGwnGKwkRm5 n+qOJFtt D4U320BDPGlE90D9Hli6OfNRfsb6UXf0KypprGZ5O4Ct4HAsDie/pNXUjjRVkFXs79O5HUW6ygR1t3tRNqbuqpsx587w9jMQGrTIvdrx/6ghirZVHswaVKrgTdpPDqv9a+bGfoqWSjH5gB0sDcoBEgMbR1ECw11U5cQLAevLCHT6sinFuMEKqrAUw23iRDyYlbRNaVF/ZRkSBrT5xV+FKNHedpUaZldGLv9xe3XNb+/wTT+AfF1sU7wa3VvcCJcVh6Ekvt49U0Dt3Bo7GFoISAREogz3LIooQ6kAX 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: [..] > >> > >> - p->zeromap = bitmap_zalloc(maxpages, GFP_KERNEL); > >> + p->zeromap = kvzalloc(DIV_ROUND_UP(maxpages, 8), GFP_KERNEL); > > No, 8 is not right for 32-bit kernels. I think you want > > p->zeromap = kvzalloc(BITS_TO_LONGS(maxpages), GFP_KERNEL); > > but please check it carefully, I'm easily confused by such conversions. > > > > Hugh > > Ah yes, didnt take into account 32-bit kernel. I think its supposed to be > > p->zeromap = kvzalloc(BITS_TO_LONGS(maxpages) * sizeof(unsigned long), > GFP_KERNEL); You can do something similar to bitmap_zalloc() and use: kvmalloc_array(BITS_TO_LONGS(nbits), sizeof(unsigned long), GFP_KERNEL | __GFP_ZERO) I don't see a kvzalloc_array() variant to use directly, but it should be trivial to add it. I can see other users of kvmalloc_array() that pass in __GFP_ZERO (e.g. fs/ntfs3/bitmap.c). , or you could take it a step further and add bitmap_kvzalloc(), assuming the maintainers are open to that. The main reason I want to avoid doing the multiplication inline is because kvmalloc_array() has a check_mul_overflow() check, and I assume it must have been added for a reason.