From patchwork Mon Sep 25 02:38:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 144615 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp1528034vqu; Mon, 25 Sep 2023 15:40:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHzL3OFHt/nf+vj9T8ouvqr5thaHqB5FS+S5fBfXMXEALCgvawESMAtI8Kxejg7qKYUYVoY X-Received: by 2002:a05:6808:f0b:b0:3a7:5d6e:dce9 with SMTP id m11-20020a0568080f0b00b003a75d6edce9mr11093844oiw.23.1695681620791; Mon, 25 Sep 2023 15:40:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695681620; cv=none; d=google.com; s=arc-20160816; b=WNP+QjHfHJ8za/uIVYxglgeeenPpnXh+x2N+gRrqEbtThpQpDd+vtGNpUsEDIDeZDh ifVxeNbo4/u5GOcJQUB/n9SwQhsvzs7Q6ayNMT5naRJIXt2lU6LO/5/IckYa1GYsEV0r XtlvvAJBrW62+PqXyEVaGLq9N4qiVuCy194JLAKTtMWuAVYaEuhCFPaCIL8xvzAegARB Uvs/jA/bthMGZVzyph8kXegEWB2tS0bzAPi/huiIVlS6kQYzWhANTGtkgcBpJDUz79I2 e+4U+OuMX16VJVw4OyJtLafO1+wq5OE90QWf+z+OgHJnhVmYv2nU9a0QG0NtWLQVpbCM y7lA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Q5XEvYirztCmygWgA/YyclPRF8/aR4iz+4trJcZQ1vs=; fh=KBp2XIXWjGVrXjMTqyicyAd1HKL9LxfghcJJI+op68A=; b=IfXuKuhkD5xuBlKAgpsMf/Jp1gkSujZAef/clnX2NrkCakcmK1emaT1KT5vGPBHm5X tdGDn/aozGLvAaHG/+XzDP0n/FUf4VJQLaX8wxYLnbX4Uknqo9PRifutjLRf8cNhubss GdC6LMoqJk7f6k2J96NIzeX2mbWRTQM+OJnZAA5OUjtAEjMgZCzGo1z5KJUDKVUCTilm IAd5pDWRAOLXeEssmHPMVcL4D1y6sm3irvUPNg7y3GDC9FIo7oASWZCG9qLSDdC4tKsr JxNdqzdCmFH7j0Lyz3f/OMebcqOT6jbEGixgiloUTWu6t/M41pwO7R39WxlM1ihvZUiF Gftg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Z1lzMyTd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id az1-20020a056a02004100b0057745d87b53si11037974pgb.686.2023.09.25.15.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 15:40:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Z1lzMyTd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 202F7814596E; Sun, 24 Sep 2023 19:38:52 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231840AbjIYCiu (ORCPT + 30 others); Sun, 24 Sep 2023 22:38:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231872AbjIYCik (ORCPT ); Sun, 24 Sep 2023 22:38:40 -0400 Received: from mail-yw1-x112a.google.com (mail-yw1-x112a.google.com [IPv6:2607:f8b0:4864:20::112a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 581401A5 for ; Sun, 24 Sep 2023 19:38:32 -0700 (PDT) Received: by mail-yw1-x112a.google.com with SMTP id 00721157ae682-59bebd5bdadso66411917b3.0 for ; Sun, 24 Sep 2023 19:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695609511; x=1696214311; 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=Q5XEvYirztCmygWgA/YyclPRF8/aR4iz+4trJcZQ1vs=; b=Z1lzMyTdLTGVjUpL1AU94XTKABwqKLX7oujhYDXtiKUiHAmDO21DkkCpltRHJN3Y5b qLYnoZ7T168q+GQmrOmHeeIMVt3lIdjpXRSTFmM2pHQYQrib8tYI3kOa6f/XiOut/L6L ClBdoqzQ1nZD01VLXGEkCvT5geHHtIHgfBaXK7O7vBNQ6VDGZKilv9El695btJykonLV +VMBkcYc4+TQOGce/KHaRM3fO0iOyUSSIpHiuFxJ9pa4vVxogiDN4WtO2ux1QIyy9c/d da2ObZULoQ7oXARvW3oFDLAfoX71rrGTA92xHO1BC26HDNqlPjkLUqGDADklHKp+UHjK jmxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695609511; x=1696214311; 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=Q5XEvYirztCmygWgA/YyclPRF8/aR4iz+4trJcZQ1vs=; b=b/vkrw5U0X7cikOP12puC3gjrFQOmWUhB2vzTQrvqX3hS75MmeOKlrJi6fkLnZTm3c F5MlBlMi9G+YcXkCwR+EGgpJ+q9342xFIhtmfo2YfI+I4h/rKR89wHV7WQ1ahnNoRqKS GgxRU4QjjmrVgaVJoETDdLFNPOKDqZYPurF2UDQXkCooHTs+VNoY5v5ntZrsKNPp3MMV euyw6fRWLR03qwv7n6O65X5uR+K/a5KXBcgsOUOE6vMaiYrQ8EQprv+Di4NtSIwJccGC lUBCmrjqb/8/PgBWYStBiuZTRdPcnz879/qBEl0MQHVZQIP4Y5QeOiBmi4twdUZzkrZV xyWQ== X-Gm-Message-State: AOJu0YxXt7sRM6N7fNGldWjtxOjHb7Lh2FElW5IL3oAImdfh97bkZAyp Lkpx36EKQ7C01z4RmJRlB1jX6YF3XZE= X-Received: by 2002:a05:690c:3685:b0:59f:4c3a:711d with SMTP id fu5-20020a05690c368500b0059f4c3a711dmr5181430ywb.11.1695609510977; Sun, 24 Sep 2023 19:38:30 -0700 (PDT) Received: from localhost ([2607:fb90:3eac:cd78:b6b5:ba0f:9e64:f2e1]) by smtp.gmail.com with ESMTPSA id w62-20020a0ded41000000b005837633d9cbsm2147926ywe.64.2023.09.24.19.38.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 19:38:30 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org Cc: Yury Norov , Andy Shevchenko , Rasmus Villemoes Subject: [PATCH v5 6/8] bitmap: replace _reg_op(REG_OP_ISFREE) with find_next_bit() Date: Sun, 24 Sep 2023 19:38:15 -0700 Message-Id: <20230925023817.782509-7-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230925023817.782509-1-yury.norov@gmail.com> References: <20230925023817.782509-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Sun, 24 Sep 2023 19:38:52 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778051051376094908 X-GMAIL-MSGID: 1778051051376094908 _reg_op(REG_OP_ISFREE) can be trivially replaced with find_next_bit(). Doing that opens room for potential small_const_nbits() optimization. Signed-off-by: Yury Norov --- lib/bitmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bitmap.c b/lib/bitmap.c index 4dba15f2e970..9345a6ffe39d 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1352,7 +1352,7 @@ int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) { unsigned int len = BIT(order); - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) + if (find_next_bit(bitmap, pos + len, pos) < pos + len) return -EBUSY; bitmap_set(bitmap, pos, len); return 0;