From nobody Mon Oct 6 15:13:25 2025 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A66C23185D for ; Sat, 19 Jul 2025 20:54:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752958450; cv=none; b=kdWsPlDEp2AFamL6bQJqoSpG2VP1xd1nGOA6Nu40s+6Bmo73Yqcxzsl105ofEBpvrZ0xZxpkHOYeNta5J1Pdvtzdb7WVI77CxehrW4CFkT6hKB+if9LBzWSou6rJwJ27F06phwmpBHOEK96fjXb2vet/0yurg40yh82JmB61OKI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752958450; c=relaxed/simple; bh=B934+Kc9/xezFy/Zn2zNjwBZazAlWZ7vR4aoJdUJbqQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SE0vTXFyBFFSEvRmHBanMc89cHhrAcWaIIhoB0B9ep/ZPaP6UPUJI/V6v5xoMHUeUGMWi6iIZiphz+Xl9bM9x8ctr3vABsnekrunymTP6Q96k8QsD2N9Nvs7pyhN8LUoma2IFwxx0ax1zjdGrg4EldyGZwWVXtZb3IWimt8Jq4o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EOM3vEsM; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EOM3vEsM" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-74924255af4so2801698b3a.1 for ; Sat, 19 Jul 2025 13:54:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752958448; x=1753563248; darn=vger.kernel.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=SOCDl5cthZmrU0Qd7NvIGZp3DnnEjIDPfQc2akvrlJ0=; b=EOM3vEsMy+nnV1UrrIhAZ1J3ktkPGc4uxsiIHEX1jw8UuZrJp6Ey9WCwHqGiSPgIV7 zZqKG9/cYz0TKKskDXG+iTci47j8wAKC0qe1x/PUf7+W1T2yfO9OOnMNlCN7rdzn5ZrM bsQsvP1j1jHOPJJhg8gpZyf/uLcbmzyLf1YUfyVlLhiAVWjkcI7I7+xAax0yH1JkBeij JRcJ2EhDsv0jE7jiromnMCprjx/l+0LSi1KohDQawmuusqIdVLwGmDofHtzz3C0FQUzF qjOa+C3G25xrGzeH1FmYfm8ZrPc4nP8WHSM5imsUTzL8iRKAnKH4iWepMzCaJTBntW6r 70Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752958448; x=1753563248; 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=SOCDl5cthZmrU0Qd7NvIGZp3DnnEjIDPfQc2akvrlJ0=; b=enUDzkUf/qnzq8mEwLsUFpILCCWRvsIlkwoLA5RBQAJu2ky6ejCBXDpyWIanWkJ1ua hsV/GLG5ruMnXR0c3+95czGfe2xo82Gfk4Dy9skXGrvNtOxHyZQP1LIRESRIcps4AuB8 hASjCEQY209Vryrdo39jaquGPvdZqUU5RHmwRA9nJEZtuMFSAR21GBGVFqXFwkqJWA5r gSBIe298+39XHJO6KfZeKvr+S+Ac8iXCga+l45IIihzy0Khq7Ipby8vokXF7OrMs/tnn 78qZ8GnRPUz2UMi1VH1kenVcTV+V7y1aWDImJx+W7hsReiXzu57/eN3dQiGEpCsuGp1z ibwg== X-Forwarded-Encrypted: i=1; AJvYcCXydvm6mv6eKAOw1j2Wb5MorYrAyU9qUvT+BxDJJX8hlKxsykaMQDougOxQJ5YPGUKuQyZiPE+hireUKtQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxNg/ntn1utf2RjvEdivC0QHU93UUBFCWJ7j9/hmLCNGUvG0o2N M/nB+pBJLbeiNqv9uoym6+vIgbaSTtG3yd3uUahPxuzdYF4dVfbCII9K4ZYwJg== X-Gm-Gg: ASbGncsCeMcN9OLBuMWNVUIzQqyhWN3VjJpEUnHgckveoXqKz+zpKn03iZSDY5z9Wcf nORnFn2J9WNrBJdRIwr3NlyS2dfkeN/sV/VVvLNvYq91qca0fg4U4LyZyzuOgCfjxT29hjQy4W2 Fl66hh4JZqL02MlFQFF/CSmcJaIcYVmSicvZHlgEXSxzXtfpaxGL7t+QzrsldIIMjDJ0jn7ZeWz fyHaqTDavkm+rvg4DlmTMQ5ztcjVl0MD1duiWzq3j6ZnrJBz1bkwLupgsmG0x97O6hzvVFSz/yX Q52LluoPvgP9PGHPJO9GIFWm45LOKAJ4u3Qion5qhz/QlAoRAOmqbT0QO0RCIn6XgiH+xHJ8RYr 89MaJknb5pGjgDNrd3AfiLQ== X-Google-Smtp-Source: AGHT+IHDiz/vYnyFSdoqCw3qpOYzf4maRKdY/f/q8f9TnmbYYrrDXgxOf+5i4gNbyS3vpFHbwnroSQ== X-Received: by 2002:a05:6a00:2d11:b0:756:a033:596e with SMTP id d2e1a72fcca58-75725a8a001mr18653300b3a.22.1752958448227; Sat, 19 Jul 2025 13:54:08 -0700 (PDT) Received: from localhost ([216.228.127.129]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-759cb1546a6sm3249106b3a.92.2025.07.19.13.54.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 13:54:07 -0700 (PDT) From: Yury Norov To: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Yury Norov Subject: [PATCH 1/2] mm: cma: simplify cma_debug_show_areas() Date: Sat, 19 Jul 2025 16:53:59 -0400 Message-ID: <20250719205401.399475-2-yury.norov@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250719205401.399475-1-yury.norov@gmail.com> References: <20250719205401.399475-1-yury.norov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yury Norov (NVIDIA) The function opencodes for_each_clear_bitrange(). Fix that and drop most of housekeeping code. Signed-off-by: Yury Norov (NVIDIA) Acked-by: David Hildenbrand --- mm/cma.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/mm/cma.c b/mm/cma.c index 397567883a10..adc57bf7c68c 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -739,8 +739,7 @@ static int __init __cma_declare_contiguous_nid(phys_add= r_t *basep, =20 static void cma_debug_show_areas(struct cma *cma) { - unsigned long next_zero_bit, next_set_bit, nr_zero; - unsigned long start; + unsigned long start, end; unsigned long nr_part; unsigned long nbits; int r; @@ -751,22 +750,12 @@ static void cma_debug_show_areas(struct cma *cma) for (r =3D 0; r < cma->nranges; r++) { cmr =3D &cma->ranges[r]; =20 - start =3D 0; nbits =3D cma_bitmap_maxno(cma, cmr); =20 pr_info("range %d: ", r); - for (;;) { - next_zero_bit =3D find_next_zero_bit(cmr->bitmap, - nbits, start); - if (next_zero_bit >=3D nbits) - break; - next_set_bit =3D find_next_bit(cmr->bitmap, nbits, - next_zero_bit); - nr_zero =3D next_set_bit - next_zero_bit; - nr_part =3D nr_zero << cma->order_per_bit; - pr_cont("%s%lu@%lu", start ? "+" : "", nr_part, - next_zero_bit); - start =3D next_zero_bit + nr_zero; + for_each_clear_bitrange(start, end, cmr->bitmap, nbits) { + nr_part =3D (end - start) << cma->order_per_bit; + pr_cont("%s%lu@%lu", start ? "+" : "", nr_part, start); } pr_info("\n"); } --=20 2.43.0 From nobody Mon Oct 6 15:13:25 2025 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71D2626B973 for ; Sat, 19 Jul 2025 20:54:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752958452; cv=none; b=KCXIcr0JjGaZ9TMUYK6sBF75UdCfpF7JihFpBEZ6JRT0QQPA46UYPbhxKZWlhPqM37Yn11/iPsRKqwKAlw7maTj7X/SSFCSbtB89b0fYKzdAzkMpEGxZV+/7DuhWt1gfOihi0CKmgtKt9O63ne6XS1rYXSMtgM6bemOAdcA4Hv0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752958452; c=relaxed/simple; bh=F9dR/06NQQK5cIEr9/dQvdYAl7ZskEFHUjKsIFnqP1Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rtc9Abe8JYeo88o1jXdrsHkpzXf2A8ZM4qY/aP2q5r2TjluZwhWih1e5DP5aHLTjx3MkNZoVVJr9QywxL+JHbfmNswuQmC4x9QsVb4vQ0CFDeLes+16cNpHCmL3vJWsv9/IbGM/adgc9kXGIEuG9e7P294phORXNWnbIlfddfsk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NeVZ6WE7; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NeVZ6WE7" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-74b27c1481bso1998368b3a.2 for ; Sat, 19 Jul 2025 13:54:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752958451; x=1753563251; darn=vger.kernel.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=9rh/gKiBm4XBBFuYSnL2aQensUxJV9POcMInF7gWpL4=; b=NeVZ6WE7GhPrV89LA1cAdie+jHW5zgw3cZfnsTgYE9wfBBPMCi4WG81oED+Aa5RxgF Ahr15kycwFMibgz3Y2ODn3B1LeiC3F7slsUA2cT7yIB6FMXkp3YwRxayVvOHKm2DQoVu SvS65rXcqO2Zxd7x8mUBsEC/9/CP1NS2ERXloGt+vxh1iIjHInWo+qM6eEEMcXFb/fdF moGi9cL3y5I4NFatac96kQbGS2Giclfm2ZXyUD7ZhiqsjaO/XE3Kd3nLiLgmOijozKqg J5IOR1oRh/EcVR9WA9TGMmz8LWM9tLStVC7BFWnpPnFc23eJO95NFEbQG4i0apSZAbtj 5qVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752958451; x=1753563251; 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=9rh/gKiBm4XBBFuYSnL2aQensUxJV9POcMInF7gWpL4=; b=TwuMVFzb74FsHSesMNlgGUBWNkzd4SjlkF/3EuPTgnwLOSOdGY4+XWxfY93hKjO/mQ HlAwvdTXVMpgMBnkADVuDybeew5Z9BdHx/MkiAAOiMSko0wJPPcnDgk7mjxGRwlWRFCv cIrj659StjgXKlJCmz6axh+SIoCOCG/zb5pJraqI3pgKbZSewN9F1sCofio9KGX+tF3h Dft1rk1xiG3vjc8Du2LDDhBmHbTsVnwCSITpNcmYXfEFvJ9O1MY5Nbqme4aiDh8MXMmC AdqqjWLaNiHqJ9M2ccVG+aBCAZ69xK5yCumVEa2B0BiCZmhioA34NCGXYsI/Khc+cTfz QNfg== X-Forwarded-Encrypted: i=1; AJvYcCWU5NZK6p/MjyH2X9ENXDL98biae4MpRvLD0HJb1tmfZAl+dLwe9mB9VePvgYWK/bjtIHMbvYEReWY5eGc=@vger.kernel.org X-Gm-Message-State: AOJu0YyooJ3QJ4XGDXetk2I7nW7Sfa6t1OUFdeWmZn0ySo0wLSTbU8i0 lGoZZ8k7xpXbJElkoalPC5z4kVwIVEV+mDcGxPZZaz/3i/dfsCeXrm8VClTZAQ== X-Gm-Gg: ASbGncuyN8ap69rWFIOk25qhVP7BLazd/GmKwaQgfdzwNNSgGL6H9Nbral/5FX4MDdk EOUT1ak+QWApH4pgWyJUJumRgl70ChfHHQZzwlmmwHBPe76twy8rOwDZl9BrF/XolaHTLLyJTkr 7e5tzzWq2A2yVPJbT7+CTAISD+LxkcYcId4LGHRcUMHg08oYkjTXpqXuJS28pJOCeYLFU1mpQ4k OsdBJ9qrnMzpZiNFxys1WO/Gz754gN4Y6uTi+u2SDv6tlOkBCKVTffvPWaLWRyBeQ+ymbyUl2Jr bZ503+FM2tbWUrx77pDGS/ZhJi3daWPLUFpD9WEgpevsLO87lcNgACidph8EtnCTDeLouE+WnTC TqKFA6sKUSl5s0Jg+rKbQr4OBdEV5WgwR X-Google-Smtp-Source: AGHT+IGGZjDSUu3QXQ7QAnkK14/dT6Wde/ltNskHSmj9/1Jt/wCzsCVsHeeyFL1ArDcrsxI/edyocA== X-Received: by 2002:a05:6a00:2351:b0:748:fd94:e62a with SMTP id d2e1a72fcca58-756e7acf5c8mr19411380b3a.1.1752958450831; Sat, 19 Jul 2025 13:54:10 -0700 (PDT) Received: from localhost ([216.228.127.129]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-759c84e27a8sm3273884b3a.21.2025.07.19.13.54.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 13:54:10 -0700 (PDT) From: Yury Norov To: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Yury Norov Subject: [PATCH 2/2] mm: cma: simplify cma_maxchunk_get() Date: Sat, 19 Jul 2025 16:54:00 -0400 Message-ID: <20250719205401.399475-3-yury.norov@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250719205401.399475-1-yury.norov@gmail.com> References: <20250719205401.399475-1-yury.norov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yury Norov (NVIDIA) The function opencodes for_each_clear_bitrange(). Fix that and drop most of housekeeping code. Signed-off-by: Yury Norov (NVIDIA) Acked-by: David Hildenbrand --- mm/cma_debug.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/mm/cma_debug.c b/mm/cma_debug.c index fdf899532ca0..8c7d7f8e8fbd 100644 --- a/mm/cma_debug.c +++ b/mm/cma_debug.c @@ -56,16 +56,8 @@ static int cma_maxchunk_get(void *data, u64 *val) for (r =3D 0; r < cma->nranges; r++) { cmr =3D &cma->ranges[r]; bitmap_maxno =3D cma_bitmap_maxno(cma, cmr); - end =3D 0; - for (;;) { - start =3D find_next_zero_bit(cmr->bitmap, - bitmap_maxno, end); - if (start >=3D bitmap_maxno) - break; - end =3D find_next_bit(cmr->bitmap, bitmap_maxno, - start); + for_each_clear_bitrange(start, end, cmr->bitmap, bitmap_maxno) maxchunk =3D max(end - start, maxchunk); - } } spin_unlock_irq(&cma->lock); *val =3D (u64)maxchunk << cma->order_per_bit; --=20 2.43.0