From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 764163B19DB for ; Thu, 14 May 2026 10:51:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778755879; cv=none; b=rUAd0Ql51MGJ57GAV9EumzoF7oAte6ruiZJ4yK0tEVHFsglU/gf1SOoNZC2I9BBQiHw7+YWRtZYvWRP36PYS4SLzADA12HMhqg7PQxWSayvTfR7d7FqucW72JVjJIQuA0VMTauaRWiApIyvGKWuzKRSwJpWcmmYbtPXyrCa2T/o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778755879; c=relaxed/simple; bh=k27EHCJKsN74+c2mdhMV7kHwUouSG/VWBNAVRRUKSGw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=I5cGBOuByYhVv4QufUlLsTxpG9MWd74xryqudWPS05EAOO05UVTcQ6pV69c4VlWcfsoEvtrx+TmI7E9FUjS4dmxdJfEudCHaDxFJ6BTzmx8NDIpkMUA94r362Ap2bk74QXTxxPVpwcbYrIaziFXm9dUlpmOUIZroqS6etKHywKQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=mina86.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IAZNkT9w; arc=none smtp.client-ip=209.85.218.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=mina86.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="IAZNkT9w" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-bce386d5b85so836105066b.1 for ; Thu, 14 May 2026 03:51:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778755876; x=1779360676; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=E/5KDC5UiUrLU4aD7w0bdQtJ/UF+VqRQcIk8Ae9Y9TE=; b=IAZNkT9wpJhwumvMbAMM6MFBig92IlEKMp/JyqRdEWEK8wXefURQOlKcIeX3NfXP72 OyLdUtHiR5yWFwjVQDgS8zPGDzaQAa1pV7Wemx3UnPSAyACrwb2+v3pE9eL1EmX7Fx1F H802hEk/qMnbSbZpx+2BfoHsA5UtLHZ2Skc3Rxvo5piEtE4wjxMN5oG42mJ6vxTUBpt0 ysgthoM8ZPKMtIvEHZTVk3mDkHK/Ndlm3EC5BLRhUyxD/XGJUvKVRHjT5BaFolQ3SaY7 daU/mT5tS3X+xnrsrKvH1nYHr+dY2ilRZ5T51n8Qx2cwMKOBXQjcX0tf988I9d7nEcHx tpig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778755876; x=1779360676; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:sender:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=E/5KDC5UiUrLU4aD7w0bdQtJ/UF+VqRQcIk8Ae9Y9TE=; b=RXGLZ0JrnxSY1V5lhTw7K8pWKz4iJ/KQrIuJt6Co4pTA/dChzXgSSbRk4XIHlCAZVq mZYkZODptA97jgVieT1YHYGgD3Jn00AhCiPrxlJtZ2RuYGHV/1BTm/tXJ9omlG660dvi LwTov78jb1PMVK1gokviMB6MEdj5fZPpPwhwavcGo7irTQg66d5iRUMTjjI3HocVuvkF tO8EiAYwp+bsU8V/r8UuEYcnre7uMZwMyJi1Zb4AqTHuTOpQ8K0E7EJhrLp0n0ymMcI8 cKggPE2j/Aa5nqDKXI8G4taJFQgSoQHaHqcd/KwYh2sZ/yhwfCfLi4RiSypUDAie6eyO s/7g== X-Forwarded-Encrypted: i=1; AFNElJ9TkVkF/RA5OVn+zqVXnuzzM6ndvxCnUQUCNGTwKj6IL+lgIQLzFRrCeFztu43k81/LRAYj8yChb4i2kIM=@vger.kernel.org X-Gm-Message-State: AOJu0YxhLEL7Mo1Fqe72fovNA+qyKfymbnjtfCa6NoU4rr6ceP70sNps fb/d5JjUJOngJ9oeUmRuF2HGAFAHgNoP08uNB8datYAiqMcrEUVcBlwm X-Gm-Gg: Acq92OFZ5Xmv4Oo4ThaJuxfO04ZajUI46SL6QuPJyhgF3Co4EPyLFMp/8nUCl75TTkB 0auIDemj4Tvwmapgp7j9/S3pj0ZKbsd/nZ8jdc74eZdz50y//fIGGvo8xmffln9epopHMAIK2NL xTaUug6rMjJz27b7svSuJz3moFHOKqZXSiSojKzrigo1bFOUK1ZhfihE0tF3q7GFXuwchO+HyEe nJt7aXG4Zf7pnrGuXhiJLhZGyYE1n7jVQ64vzyi6MPerwq6wjGnOYCaSjFLv+FTp92vCHSnNTdn nKqUwh705xrwzOWlz9IhZXBq9m2c9uSAx+kGDiV0v8dLda1J77kXq5MqZVzVWvu3YE28mEv/N5b wr2PqOKGZnyjm/qLi7afjhbsMCCwWkxjjzjuUsvQmbto1WnEaTDmUJthVWppioPKdYWGxSN99I5 YShOiooFO2NGK5Y4ElwxcD7n/G9kzuxdIBx5A9C2CB3MK9Dezu4Q== X-Received: by 2002:a17:907:60d1:b0:bab:f5c7:23ca with SMTP id a640c23a62f3a-bd3e2dbf390mr418150866b.38.1778755875036; Thu, 14 May 2026 03:51:15 -0700 (PDT) Received: from erwin (109241130011.warszawa.vectranet.pl. [109.241.130.11]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bd4f4e4d54dsm73361966b.47.2026.05.14.03.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 May 2026 03:51:14 -0700 (PDT) Sender: =?UTF-8?Q?Micha=C5=82_Nazarewicz?= From: =?utf-8?Q?Micha=C5=82?= Nazarewicz To: Yi Sun , yury.norov@gmail.com Cc: akpm@linux-foundation.org, akinobu.mita@gmail.com, linux-kernel@vger.kernel.org, yi.sun@unisoc.com Subject: Re: [PATCH v3 2/2] lib: bitmap: reduce the number of goto again in bitmap_find_next_zero_area_off() In-Reply-To: <20260514090607.231387-3-yi.sun@unisoc.com> References: <20260514090607.231387-1-yi.sun@unisoc.com> <20260514090607.231387-3-yi.sun@unisoc.com> Date: Thu, 14 May 2026 12:51:13 +0200 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thu, May 14 2026, Yi Sun wrote: > Finding a contiguous free region in a highly fragmented > bitmap is not easy and may require many repeated attempts. > Therefore, find_next_bit(map, end, index) is not the optimal choice. > This is because there may be multiple scattered free regions > within the range [index, end) and none of them will meet the length > requirement of @nr. > Instead, it's sufficient to directly find the last bit within > the range [index, end), thus reducing unnecessary "goto again" calls. > > Signed-off-by: Yi Sun Acked-by: Micha=C5=82 Nazarewicz > --- > lib/bitmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/bitmap.c b/lib/bitmap.c > index b9bfa157e095..9b589643f72a 100644 > --- a/lib/bitmap.c > +++ b/lib/bitmap.c > @@ -442,7 +442,7 @@ unsigned long bitmap_find_next_zero_area_off(unsigned= long *map, > end =3D index + nr; > if (end > size) > return end; > - i =3D find_next_bit(map, end, index); > + i =3D find_last_bit_from(map, end, index); > if (i < end) { > start =3D i + 1; > goto again; --=20 Best regards =E3=83=9F=E3=83=8F=E3=82=A6 =E2=80=9C=F0=9D=93=B6=F0=9D=93=B2=F0=9D=93=B7= =F0=9D=93=AA86=E2=80=9D =E3=83=8A=E3=82=B6=E3=83=AC=E3=83=B4=E3=82=A3=E3=83= =84 =C2=ABIf at first you don=E2=80=99t succeed, give up skydiving=C2=BB