From patchwork Fri Oct 28 01:48:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 12025 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp559641wru; Thu, 27 Oct 2022 18:50:24 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4TNNo/x74/zHdhWZr1U699A8b845jwsp2A7BSadKPvD1NmljGHQuC4PFmKAVhr/DK3YaSn X-Received: by 2002:a17:902:e212:b0:186:e9bd:d51b with SMTP id u18-20020a170902e21200b00186e9bdd51bmr7614062plb.58.1666921823748; Thu, 27 Oct 2022 18:50:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666921823; cv=none; d=google.com; s=arc-20160816; b=HUkbFIz00J5HVUvD4xrcAbLygV/5XAfE2yk03Fib8QF1sOnSvM3oCmHfxGzqGzlqud La8D5U9BmfT1EcG7+1WGu9U/jgDC3RtVdF5pFqdGFD4nsE2/SemTraBGiPULe7NSCPpn qGv01zPaQIuDAjPX0JP6HLd/aa6n1j05oKbzTdeMXGPToPPbN7b1g8JdeF+I4RpCsZ/P KHZiiP4JyvbEqvPv3IWCfd2wsntmsrTb9bJ0RvsIhURSW5xmsx6V0Wfl39PUBvsvAI1Q abLM0Cnu1qJiEJUx0fEr3C7ldEm3gk/duiT2hDPLS9IPJ6Xes8xK387wGl5NBTzOvrk9 fNHw== 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:to:from :dkim-signature; bh=RIvfGYehnMa6vIHYYKC8CbCIUzksWXHKOuTYYTC6QyE=; b=oNhITp2zdIfqvImYRsh1xkD3JWbL+yIyVze8MRDTW6kVIxmlTGuwQxnXeE+yn1x2EI OMmuTqgFI30y2J6sL01P9zts2ooDWeYdS9D+DlFtW/SaK3E/3c2yh7CK54leQ+YAtvfu L7Sw4QTgU6T4ZKmsP39agf9WYF/43yEbulC+MSO7woJ7xGr49O4QisLxqcsC03C/+C3s 2q6zKTR89YF25FJ6F8LMN/JCOfUkGwZQ/KFI5AsXs6ECScUAXJU2RV3TPgdwrYKX0sIy 3rKx5JSvtQsxEdkgZUM5RM9D0RxitUn08d3GEfcYCIgCllbTjrQ4n67Zq+wFVgEcXLPF ZP6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=cyuxwjjE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mq6-20020a17090b380600b00212d5631badsi73728pjb.55.2022.10.27.18.50.11; Thu, 27 Oct 2022 18:50:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=cyuxwjjE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235830AbiJ1Bsr (ORCPT + 99 others); Thu, 27 Oct 2022 21:48:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235104AbiJ1Bsl (ORCPT ); Thu, 27 Oct 2022 21:48:41 -0400 Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F2C9AC389 for ; Thu, 27 Oct 2022 18:48:40 -0700 (PDT) Received: by mail-qt1-x830.google.com with SMTP id f22so2714957qto.3 for ; Thu, 27 Oct 2022 18:48:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RIvfGYehnMa6vIHYYKC8CbCIUzksWXHKOuTYYTC6QyE=; b=cyuxwjjEgSIb7u4uJQfNUyKZwsoP4ZsECrSTZJxHowpz5sUFI0h/S9O4Ph0F9CDeqb jutAHfg4no8JzCg10FjaZYUzxlwcHExfUskHnAe8C0w7obuj/p2pm3pSDTxAvFGxbqnu yrUJqXbZm9hDpwcQb1W1JzZmk3zmw4x7XFBRC9d8bO8zGC6mfQexAGA0isj9MTuor3AS wC832jU/H95L7x120ZV+eS974IF3w3XLlnolJJTP1FQNlW8uXw7hxVsbvvLLl/M+MElh 3BKaac7yFMqAgU0QL8o+e0VQfVU+VwYnlW+yOb94BwBtgSr0APLU8zLlCKn2MIhjNHr0 HpXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RIvfGYehnMa6vIHYYKC8CbCIUzksWXHKOuTYYTC6QyE=; b=bAj94sxcQQ1lBkysj08tZCUOAaHgO+xisM9eH9GkjNflYXGQvDq/vFMzhnSO3fJRe/ 39b94cigrUFxfRK1w7Ge9474rzGS2mpZeLfvf27l1CGHk7hFeIviJeWRu+ifrZxSAnfI c4MQL7TbUle4hDd45vsDyCvsITlEupWE8FttvA/GOg7ONnOvPW3pGJYpT9BWO3dvlQF+ yFVPRpdBcHhiVaSydxcGt/v2L9A6+kAOk0mYAKAANdzHBmY+p7AjACWwldOXIaYcSDCa QanwUsuJymMoN+11YaqyvrxY6qFx2co4ek5NjhRbZ+OR1fwlWFxnbNFaTj6w2bhJoLP5 H7Ig== X-Gm-Message-State: ACrzQf0OiPvodID+9flS0PKAMKzoa25QMIu9o9dLpk+8PCW7FxwXQSGh SYMyt8UpaYq1cnq/4yzMMyjCzvVqWNI= X-Received: by 2002:a05:622a:19a0:b0:39c:ba70:e475 with SMTP id u32-20020a05622a19a000b0039cba70e475mr43122367qtc.50.1666921719131; Thu, 27 Oct 2022 18:48:39 -0700 (PDT) Received: from localhost ([2601:589:4102:4c7c:d8d0:78d7:ad97:2651]) by smtp.gmail.com with ESMTPSA id o8-20020ac841c8000000b0039cd508f1d3sm1704079qtm.75.2022.10.27.18.48.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Oct 2022 18:48:38 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes , Yury Norov Subject: [PATCH 1/6] bitmap: add bitmap_empty_from() Date: Thu, 27 Oct 2022 18:48:29 -0700 Message-Id: <20221028014834.572819-2-yury.norov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221028014834.572819-1-yury.norov@gmail.com> References: <20221028014834.572819-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747894217935923439?= X-GMAIL-MSGID: =?utf-8?q?1747894217935923439?= New function checks if a bitmap is empty starting from a specific bit. In the following patch, it's used to replace _reg_op(REG_OP_ISFREE). Signed-off-by: Yury Norov --- include/linux/bitmap.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 40e53a2ecc0d..f84553805c9c 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -49,6 +49,7 @@ struct device; * bitmap_intersects(src1, src2, nbits) Do *src1 and *src2 overlap? * bitmap_subset(src1, src2, nbits) Is *src1 a subset of *src2? * bitmap_empty(src, nbits) Are all bits zero in *src? + * bitmap_empty_from(src, start, nbits) Are all bits zero in *src starting from @start? * bitmap_full(src, nbits) Are all bits set in *src? * bitmap_weight(src, nbits) Hamming Weight: number set bits * bitmap_weight_and(src1, src2, nbits) Hamming Weight of and'ed bitmap @@ -433,6 +434,16 @@ static __always_inline bool bitmap_full(const unsigned long *src, unsigned int n return find_first_zero_bit(src, nbits) == nbits; } +static __always_inline +bool bitmap_empty_from(const unsigned long *src, unsigned int start, unsigned int nbits) +{ + if (small_const_nbits_off(nbits, start)) + return !(src[start/BITS_PER_LONG] & + GENMASK((nbits - 1) % BITS_PER_LONG, start % BITS_PER_LONG)); + + return find_next_bit(src, nbits, start) == nbits; +} + static __always_inline unsigned int bitmap_weight(const unsigned long *src, unsigned int nbits) { From patchwork Fri Oct 28 01:48:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 12023 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp559435wru; Thu, 27 Oct 2022 18:49:41 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7gPhqjd8W5x8mHylUmdMzYEAKY30z0NcFInV4raUdjVzzjBswJcvDdUaGKNNfbyqNchLw+ X-Received: by 2002:a17:90a:e7c8:b0:213:1a7c:9dd2 with SMTP id kb8-20020a17090ae7c800b002131a7c9dd2mr13660609pjb.114.1666921781246; Thu, 27 Oct 2022 18:49:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666921781; cv=none; d=google.com; s=arc-20160816; b=joMvl0K2K1qysBqnmA2pr/7pkC7sUhAceBc2sd9V1A+jsW3vhOzjdtH0tVdIhfq6y5 syOeywdz++OhE0JdrmJKXSQMOwy8dLtcjPxwhcTWi+Bs9PUM/hTv3CONPiEVguLkOro1 vSqPPboIs1sW15UQl5Y2sE5UvijBfyk480Gu5IWwEToq2DMxfYXbCLWh3MOl6CwXkrx/ In2GirmnYOcBX6mcu84qAlX8p9pT1yPDpmSw5tV4NcN5DcmqcvWXPKSIla0wLS4eljxl 0gs4d1fWM2k5Zk0NCpqU5qGRZ2jxNpgw461h364XeQWbR2y1XcKTGljj4X097Vht8Cbj sprg== 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:to:from :dkim-signature; bh=DS0XWl1Cbm55Pwimv/H351CT6M0z6e8AP3NS0QMe2jY=; b=t0wnSN2j7FbqnHFYG3L/zp9vxCymngsCrwmW+vYiPmvcCD87rXCSlpmOmrpWsiW5St X6xHgqjmyqU5pjna4MLRp2+zFeFxkxslaxg6ELtryFUcQLhP893QbComMuIRaH2sGzVe XY5kJ4nwtwQ/+8fwIz00kgMENJWp01PHF+1keKX2dabKt62qfCRncVLdzO+6flB8sMYF yTG1YRuGtVHmoVP36Ap3YQSI31c1p90GLbWtgUrMoB2HXy4MI0+t1cu0kjGyzYmOGgCl gsX4vspFmmIrkQiL9MJD/yh+F/VvpDqNMHcM/B/uYvGpYI7RAme3pmwc8rdmIaibcbj2 F6Og== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=TsU9DDtc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pv16-20020a17090b3c9000b001fe41707a2esi7261156pjb.90.2022.10.27.18.49.28; Thu, 27 Oct 2022 18:49:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=TsU9DDtc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235927AbiJ1Bsz (ORCPT + 99 others); Thu, 27 Oct 2022 21:48:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49548 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235168AbiJ1Bsl (ORCPT ); Thu, 27 Oct 2022 21:48:41 -0400 Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 664A1ACA11 for ; Thu, 27 Oct 2022 18:48:41 -0700 (PDT) Received: by mail-qt1-x82d.google.com with SMTP id c23so2706150qtw.8 for ; Thu, 27 Oct 2022 18:48:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=DS0XWl1Cbm55Pwimv/H351CT6M0z6e8AP3NS0QMe2jY=; b=TsU9DDtchGqKnMoyHMUxHjV8Qlh4o4T7gZdHTFyPH+yl+E+p47xyN0V/lIiPFRdBl+ oN6qGwSxIIXmY/I6PtOgLs36L/1jPOkA2GynFx5SsVGrZYTiRSZa1qUcgVyHWRFA9LGl EZd5rM3gJh5nDL7G8Deu2fk/gdniov82eR5Y8PMcW5dLx5HDLIinataviO0kiWJ8BFQv tHdjoZU5jGsWAj+Fxg4dM2wAQ2WP4oRXva2PJ/WK2wyrcc2dI02gKkdvop0x5SS83xzm yB9aG1fDftIlCeJRr8NaOol+Yaoi292QOp1QR8UtRt8bEnpqOopGVctWGsFzEd9Tx6l0 PtVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DS0XWl1Cbm55Pwimv/H351CT6M0z6e8AP3NS0QMe2jY=; b=R9zootEW0XO+SwuqyXMHtnExepni6g7iUBA0o2pDJle3Lv0UTeWrkLwh5muCbmO+pp wJGVk/qKTVh7gpHUQnSPUes3aDhQFkTsRksNo04FmiBR7ZKA0uSWgu9H/ocMvJaPf0D9 SUcmy3ZzspzqPI01NDtDuuPauTCuOiBQpJTJiUrjFg1rqOGOmY4M4GTazPtsx+IkbWHu iY3lAahg3KCBQrCwLvYyO57Z90lfkcsC9RuGpBx30woP47NpL6Ur4exvbE5KjY00GTPD WIjAOGvzJSYh4iT2sA1M/kLLqldih2OA1HeamsL5XGvX7YfQdG5jsHUXdm4EjM5oaL42 3xvA== X-Gm-Message-State: ACrzQf3BE08y/KztcIkPRw64kMiMP+3AV5Ydfa8Azmq3JwwyNErisi9b 0hv0TUw/hRNKwqLc2bZD4rpqE03YsRc= X-Received: by 2002:ac8:5f53:0:b0:39c:e315:114d with SMTP id y19-20020ac85f53000000b0039ce315114dmr45159293qta.346.1666921720240; Thu, 27 Oct 2022 18:48:40 -0700 (PDT) Received: from localhost ([2601:589:4102:4c7c:d8d0:78d7:ad97:2651]) by smtp.gmail.com with ESMTPSA id g23-20020ac84b77000000b003a4efd59754sm1724032qts.12.2022.10.27.18.48.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Oct 2022 18:48:39 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes , Yury Norov Subject: [PATCH 2/6] bitmap: replace _reg_op(REG_OP_ALLOC) with bitmap_set() Date: Thu, 27 Oct 2022 18:48:30 -0700 Message-Id: <20221028014834.572819-3-yury.norov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221028014834.572819-1-yury.norov@gmail.com> References: <20221028014834.572819-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747894173529575997?= X-GMAIL-MSGID: =?utf-8?q?1747894173529575997?= _reg_op(REG_OP_ALLOC) duplicates bitmap_set(). Drop it. Signed-off-by: Yury Norov --- lib/bitmap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/bitmap.c b/lib/bitmap.c index 1c81413c51f8..28630b57b2ab 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1317,7 +1317,7 @@ int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order) for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) { if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) continue; - __reg_op(bitmap, pos, order, REG_OP_ALLOC); + bitmap_set(bitmap, pos, pos + BIT(order)); return pos; } return -ENOMEM; @@ -1356,7 +1356,8 @@ int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) { if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) return -EBUSY; - return __reg_op(bitmap, pos, order, REG_OP_ALLOC); + bitmap_set(bitmap, pos, pos + BIT(order)); + return 0; } EXPORT_SYMBOL(bitmap_allocate_region); From patchwork Fri Oct 28 01:48:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 12026 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp559675wru; Thu, 27 Oct 2022 18:50:30 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7nhudIplr4H5AHtDCeu3WG67RQ4wHxWzFyIXwYJi5BJMm1u2wTNU3BgTeTWZy5M1AGPNPa X-Received: by 2002:a05:6a00:b82:b0:56c:d5bf:1019 with SMTP id g2-20020a056a000b8200b0056cd5bf1019mr763575pfj.72.1666921830276; Thu, 27 Oct 2022 18:50:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666921830; cv=none; d=google.com; s=arc-20160816; b=O4oamC/ZW68sf6ARumFQBQHE7rdWPNFL510CwShQ+k/7x+6WF/EA151SZzyaAK/hDP qxIOXaifafwoHFF2q443bcqrz+TMh/kDJaKy9vFX40meEG5+YRSwqLTpEnhPLZk2PYE4 3tyXbDjBjUgl56XrH4HqkyD26UrRLvI3i3lYykn8p9Uq4w2cHpX0O84rwCKIVj9vQH7y Jg84JaAa4QhtOnc/qsXVM8YdQazaj/f8sVbG6hgVcMDVfPUOhnsyPOznS7w90Fyv46F0 t2rAK7t83+C1p2UuMMDvZzrpSNhZwzJa87525XplObcL6mJB5O5u28wZj2A7WJS48JnK QUmg== 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:to:from :dkim-signature; bh=AKWEDhFwn+ThPGCDnydjZuc7yxzkqodEM30ZzuABrJA=; b=t+R5iIFAmEQqO19htTlVtF8Dh+QsJTVpaNfxIbXK0pmbZD+pGMvHBClPGoFMsZ2p2b X/js8zMt1JlPDNKO+8CfWYGfqFRu9HXWPoTE6kbF8/BixAmWR4nqVNZg34XRDEsEUa4a qdwQEbs/6jn8UrqTU/jkrxE/mD9icmii8F+uAtiA/nDgoU4UMedQQrCCh/POsDitQ3MM vcrEx/qNDE6tMT3f0Ql+gZSpaSPIazbRnnmsedv15bNIC3GDM3jaaGvOzwOqU/uMEKMx Z1zLbG1R3Ls5gjIdzOFS90znsPdiBYv4Mb9W/l6+Zu/N+arwx5p+KzvVKYVGXcQ0w6Kr hc/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=LyT2cefO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j191-20020a6380c8000000b0046ebcc1c65bsi3221534pgd.739.2022.10.27.18.50.17; Thu, 27 Oct 2022 18:50:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=LyT2cefO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235897AbiJ1Bsv (ORCPT + 99 others); Thu, 27 Oct 2022 21:48:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235782AbiJ1Bso (ORCPT ); Thu, 27 Oct 2022 21:48:44 -0400 Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 683A7ACA2D for ; Thu, 27 Oct 2022 18:48:42 -0700 (PDT) Received: by mail-qk1-x734.google.com with SMTP id b25so2609201qkk.7 for ; Thu, 27 Oct 2022 18:48:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=AKWEDhFwn+ThPGCDnydjZuc7yxzkqodEM30ZzuABrJA=; b=LyT2cefOPSq6japO6tCAFrOEBVLx0Ph4si20US1N90P5wLTkRNJY3t1oYVvrdSidp1 +yrPVi65R/D7VqqYurnbGZ/XQw0VxPSQRNcyONiLh+lxFXBRwhEg6YsZp2nezdPw4GVk 4EgO9Ye7CjiuiS0+6q9FUcLSHeynX5p8uR5Et+3q26EOp9rKguUo7VSZypYNXJoC8gh0 ss/X6zTx0t9z90GNfEg2eZJrgGd8Vz02Bk7XdF4GTh3nV6BJOozHHUQ5SSDXa3Vd1mJ0 MuNKuB5Uun6SRBFigYAlNESlVfONP+s5HOpGjsSfi9P1k4OuRe5NLoHmZsj2SJeELqzn 0pwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AKWEDhFwn+ThPGCDnydjZuc7yxzkqodEM30ZzuABrJA=; b=GKUd27p/fvahwk/il//SYa64UOw5IGMAcwgweHxxq29FeSu5ZYpruBO5XBw0FjeXEs d0efjAduY5UbW47ld6K9w3fKjBI3EPEjRIXn8WTn5TnjQqIiVRK7BXAZA5xxpmACX1GF WcBsXxQx7UTjjJzBurEu/wPNTSeD+YlGtUWakl4uzhQR9+wP7iICjsiZZX0mJ/RWvlj1 KP4mlqal5FeLm2nUcb8ftzOkA5hvxd/95F7ENq8G47Yoo66VDOLV3V2d4Gj4X1rqe6T3 ONjskfHd060aNm7JTlUkMoBXwv+syf+2KrU1BzIoFrzoM0yHNi/fPBf5GMeHn5YC/B3u HN6g== X-Gm-Message-State: ACrzQf0iBhIo2yBJZMwZDZUxJjxLnFR2UA0vLaNjUCFFwHLnItonOXuM hcIC2ggI4P7XQO9E24UUyeNk+h9Dv0E= X-Received: by 2002:a05:620a:6d4:b0:6f9:f6af:4cc2 with SMTP id 20-20020a05620a06d400b006f9f6af4cc2mr3731460qky.445.1666921721385; Thu, 27 Oct 2022 18:48:41 -0700 (PDT) Received: from localhost ([2601:589:4102:4c7c:d8d0:78d7:ad97:2651]) by smtp.gmail.com with ESMTPSA id u15-20020a05622a14cf00b0039a8b075248sm1723722qtx.14.2022.10.27.18.48.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Oct 2022 18:48:41 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes , Yury Norov Subject: [PATCH 3/6] bitmap: replace _reg_op(REG_OP_RELEASE) with bitmap_clear() Date: Thu, 27 Oct 2022 18:48:31 -0700 Message-Id: <20221028014834.572819-4-yury.norov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221028014834.572819-1-yury.norov@gmail.com> References: <20221028014834.572819-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747894225097694519?= X-GMAIL-MSGID: =?utf-8?q?1747894225097694519?= _reg_op(REG_OP_RELEASE) duplicates bitmap_clear(). Drop it. 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 28630b57b2ab..813962bdbd93 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1337,7 +1337,7 @@ EXPORT_SYMBOL(bitmap_find_free_region); */ void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order) { - __reg_op(bitmap, pos, order, REG_OP_RELEASE); + bitmap_clear(bitmap, pos, pos + BIT(order)); } EXPORT_SYMBOL(bitmap_release_region); From patchwork Fri Oct 28 01:48:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 12027 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp559703wru; Thu, 27 Oct 2022 18:50:37 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5Fm5fIyF9LMuR6sj3f3Bu3TfFB6e5JiGrQws3rkCui+2v+biD6xAUNcBn5YU2z0FlL6sLw X-Received: by 2002:a17:903:124c:b0:179:da2f:2463 with SMTP id u12-20020a170903124c00b00179da2f2463mr51816656plh.128.1666921837661; Thu, 27 Oct 2022 18:50:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666921837; cv=none; d=google.com; s=arc-20160816; b=Qqj6JJ1BqdUzEcTllzwLtDZeb1P4Uao9yACg1dP8P5L6j+L7MnRveeIcoCXPx1WXKP fHQ1LN6wTyUycj4YE/LX3azbCXya8yzhLyWaW+ESVPAY0xHTS1S9Zp5aFJMpNMgQC6Nq wurZ6ppSN/BNaoNTzQ5SOrAhaSbQ5xEaHR2AKU4WU9jL5iI1GFnkBjc0K5ZOE3vXTpzX R2VIGQUNb7Ezhl1tpYoMl3//Y4RlilfZNbJ1fBzupVALlgDtP2/3ZbtISTGbdAR8lLcR fXZ9aM1gz0oOlBL8zdij5gnsoAjlMoCfDxxPhitUbc4OpRSjD3vK8ta3+1pj2PtN3h0M sh7A== 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:to:from :dkim-signature; bh=6IF9Itq+l7pSB7LEj0A4UotSxHZaA/dpnq4u6qwUxWA=; b=ZfYk1pVwCyWEKv9IOS4CEwLVBIonqDhkKfzYYfDqRoEZvK9clX1FVjsSDkaFR53+Ob d/pUiShOOiOnRSMVhfv1xiTYkJnhf1msYHT7i7lla4w0IkW3YXwJdhdMYTYkG/hxQ30U C4r25fyFjmYCleS7H4tvKZbrUeZNjntS1//KpqpkaVCVWbsRpI3DVD3tj+u5BN20vbbQ VCGeLHYzgGi6PYibr/sOk2UJHRAt6wez0vwg9Sy50M7Kl0YAPHeZs4/elVcXCkPGUf5f M9SXajm8P4wtv1gKUpRCERycUVoXW4v7rhWDSlO0iCbhN2Kix74phxLIdn3jbqG333zE c0jA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=CgkTQuua; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b10-20020a170902d50a00b0017d2c45e93fsi4260186plg.169.2022.10.27.18.50.25; Thu, 27 Oct 2022 18:50:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=CgkTQuua; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235990AbiJ1Bs5 (ORCPT + 99 others); Thu, 27 Oct 2022 21:48:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235804AbiJ1Bsp (ORCPT ); Thu, 27 Oct 2022 21:48:45 -0400 Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com [IPv6:2607:f8b0:4864:20::72b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D3C3AC4AD for ; Thu, 27 Oct 2022 18:48:43 -0700 (PDT) Received: by mail-qk1-x72b.google.com with SMTP id f8so2606200qkg.3 for ; Thu, 27 Oct 2022 18:48:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6IF9Itq+l7pSB7LEj0A4UotSxHZaA/dpnq4u6qwUxWA=; b=CgkTQuuaZKVOSuly1y766VzaHMeskYfkNUpQf4ucFCzCJ0KcqwJPOKGJZYZUn9U/oS gUiKpBC8dWz8yJSYfRNv5ObChBFaqGcVgOzs5pVRWqmBs+Az089yfR5rVsrO3qIQ1MH5 RjkSmDllmkiqRco2hgwD38JtvpYaXe320+nECWJ+d6Z11lg+8qYrzg2UCw3gXTSx7QiE ccvG3h3wFrnkH/LVfNg4Ztw4U80IZ4stHMWOjFZFmBrXQZlQKSUGLStCJInubPC7ZYT5 76eUzXjqHShoOO51cxEkNnYNVNx/xASMUMTek7WXk6Fro3uw2UV3EST6LLDuTrOQ+pVd IUUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6IF9Itq+l7pSB7LEj0A4UotSxHZaA/dpnq4u6qwUxWA=; b=NkwHaGbdUvhg+1vDFNX3ibqHq1HmH3kBtiOiswZn4HnVSPNyFnDxucvBHidAxN7XcX ADbtXkxdwWzwW5WiC427AVK6TSXbS5lCWXmwADYWVSFKBK8eZFIh8igM0pojGYK4a0WG mEHvHkWYUc9Ggn0m3u7apA/BM9pVN6sKB3d9pIKugYarnPwaHWb5wOy/79zd7esGmtXT S7P9/MKrJ5wuMqXn1nO11ww3Gb7W4icxuZfJcvCbiT3wmDJeBeN/1IrNU71WvrP2i6C/ eca8/d3jusEeynkVcr7MmjP6o95J65zLVeid7idWysdgBljsEsVZ9yufdZR5zNVuvZJE y36Q== X-Gm-Message-State: ACrzQf0iukDeQXhneir+VbKnGBnSwTdqMISbYAveMDVpCWYUD9aHVbgP LVkRI9zizC/D+jwOb/pSFuzjuHf2uws= X-Received: by 2002:a05:620a:a46:b0:6f8:7886:6f1b with SMTP id j6-20020a05620a0a4600b006f878866f1bmr10715267qka.1.1666921722477; Thu, 27 Oct 2022 18:48:42 -0700 (PDT) Received: from localhost ([2601:589:4102:4c7c:d8d0:78d7:ad97:2651]) by smtp.gmail.com with ESMTPSA id q11-20020a37f70b000000b006ce0733caebsm2015725qkj.14.2022.10.27.18.48.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Oct 2022 18:48:42 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes , Yury Norov Subject: [PATCH 4/6] bitmap: replace _reg_op(REG_OP_ISFREE) with bitmap_empty_from() Date: Thu, 27 Oct 2022 18:48:32 -0700 Message-Id: <20221028014834.572819-5-yury.norov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221028014834.572819-1-yury.norov@gmail.com> References: <20221028014834.572819-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747894233257320940?= X-GMAIL-MSGID: =?utf-8?q?1747894233257320940?= _reg_op(REG_OP_ISFREE) duplicates bitmap_empty_from(). Drop it. Signed-off-by: Yury Norov --- lib/bitmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bitmap.c b/lib/bitmap.c index 813962bdbd93..389446b6f248 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1315,7 +1315,7 @@ int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order) unsigned int pos, end; /* scans bitmap by regions of size order */ for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) { - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) + if (!bitmap_empty_from(bitmap, pos, pos + BIT(order))) continue; bitmap_set(bitmap, pos, pos + BIT(order)); return pos; @@ -1354,7 +1354,7 @@ EXPORT_SYMBOL(bitmap_release_region); */ int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) { - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) + if (!bitmap_empty_from(bitmap, pos, pos + BIT(order))) return -EBUSY; bitmap_set(bitmap, pos, pos + BIT(order)); return 0; From patchwork Fri Oct 28 01:48:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 12028 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp559795wru; Thu, 27 Oct 2022 18:50:53 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7piOvyIE2n3goxzAu0y4puJYhTmKWlzGEMmWRfKwTEU7kMp2jeIiEy0BJcqXCy7F+pI90y X-Received: by 2002:a17:902:9a07:b0:178:8024:1393 with SMTP id v7-20020a1709029a0700b0017880241393mr52310672plp.128.1666921842492; Thu, 27 Oct 2022 18:50:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666921842; cv=none; d=google.com; s=arc-20160816; b=o0e4cWEqkr0f/0WbuVp8ucxji9z2RD9jlVj8rzeCx+OxJoXumi6z2cR814FNWESfp8 1kbz9AajsiqMRhoIReMmy/uolO7BwF7kI71ubpj95N+IzOuiqAQAQfjycf1APy5XojKp j5loG302pQjtuidyJl6U55mmaxlAAwysX9vpl0ylcy1sJSxyP9zoVC1mFp3O25R9djQO OrjYuqUwp2fNyI3WQxxnV/r4uCleSZ95jfOF9b9H1r8WdI74CN+79AGFCKDj2yy2XMQz w1SMAecNEyU+0i3TNRo5tBnQ0MP8XvTor3irXYKWN8eZFgsONaIcT/gFUuScH7uyrJXl wW4w== 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:to:from :dkim-signature; bh=B4DUoigKs4i4MiSm7mPBHdj9bSfZn7HJiVErqHP64bE=; b=wC+mv6/VLEEWtUmmqEpFsWKWRG8tHd9Aefc4A2xk8ryeMFeswkeItF6RHNrBfm4B48 CKRYGAl2yDWI/WNhlVDBZKFSwYnf36s7D7r6wPnwZVQZ6bWtJzfFBOWlGhlJIxXO333L e7Se23imGVTxU3sCCj69RM+lN7SreTIYyyeRNExIyzHL5LhzOam59HQNuRmoaPhuzG2a 8LcGswCSlUHORoZ2jaAILCbIQ4U62RcoPGXl0usX4ODDaoxj9nTZyVpAySCGFP+5uByd HWFxWuTYsPiUoPGbPb761suFkEHaO/+f6CTRb+npgi6atMun/rWLlG1d951qE/Ii6KOb J5fQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=UP9smFtq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p39-20020a056a000a2700b00542f9f272ffsi4446924pfh.18.2022.10.27.18.50.29; Thu, 27 Oct 2022 18:50:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=UP9smFtq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235866AbiJ1BtD (ORCPT + 99 others); Thu, 27 Oct 2022 21:49:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235808AbiJ1Bsp (ORCPT ); Thu, 27 Oct 2022 21:48:45 -0400 Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90F58AC2B8 for ; Thu, 27 Oct 2022 18:48:44 -0700 (PDT) Received: by mail-qk1-x735.google.com with SMTP id m6so2609112qkm.4 for ; Thu, 27 Oct 2022 18:48:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=B4DUoigKs4i4MiSm7mPBHdj9bSfZn7HJiVErqHP64bE=; b=UP9smFtqIJjIO979pi3gSZOEWo/rG0oI4HF9M0LEHAkvHp0V+9yCj+EFIWT+WIobvN RfXWB5vQJOGlcZIpP5JRkmeKnkUGDAPNU8TE9KKqlYfpywXW7A4opkitijzTa7Dg7Q6l fRRc7iK57T0KY6v/5JyGUtzB0dVtv54gf9vhTNn0BTQkbUo54qO3ozfQxN+Lqe7a0+me P5/7Q/JRXLtmh2jZ3G+pzxKK4D8uQ56ag8AB6iWUh+hWBZljw85ghQF4Hk+QyWmHrOLk +27V0GcsMkSKqYLgMfpF163SYYnLlGY+BNn/bgGUlSWHdWp510X8wk4rVUCqBj7lFfVw 1POQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B4DUoigKs4i4MiSm7mPBHdj9bSfZn7HJiVErqHP64bE=; b=4Uhoz6VK+QQ+qUV6HKimQY5bBvOWYP3gEz+jV0gznPm3EGEVCEfg+EI6b2mBTqf3Rn oNFU7Tn4JxTTYpLE1EMAJvfIvsW/SOW3rJezMzDZ1VP6OoKfGCt19qQmWiu1GDPSjvJW VXLpRJp5m4kcgHzOwYPj3oSZmYUXCDy9CBFyFFW7mgk4wzrmouP6qu/HKSrCPadeK99D lln80lMGuBbtEk8Qo5Jxa5gO2rp7CuKqhTSMJaNtDaYIpwxx+VFBnxbqreAX6qHpWvRL 7is7No7sUhhKH3WldUZrbazeNzb9R+h9QDeWJ555ERdp7QyFdBnXgtFH7ablfAkFpU8c 55MQ== X-Gm-Message-State: ACrzQf0Kw2nqktin+WX9p4sv20zZraTJYDqtjdmGxWByo1e4OLqpj4iY qXodrFYDEI0gV4prEGtRe48Z4OIVvhw= X-Received: by 2002:a05:620a:2629:b0:6ee:b2cf:aeb5 with SMTP id z41-20020a05620a262900b006eeb2cfaeb5mr36464857qko.62.1666921723522; Thu, 27 Oct 2022 18:48:43 -0700 (PDT) Received: from localhost ([2601:589:4102:4c7c:d8d0:78d7:ad97:2651]) by smtp.gmail.com with ESMTPSA id l13-20020a05620a28cd00b006f8665f483fsm2120991qkp.85.2022.10.27.18.48.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Oct 2022 18:48:43 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes , Yury Norov Subject: [PATCH 5/6] bitmap: fix opencoded bitmap_allocate_region() Date: Thu, 27 Oct 2022 18:48:33 -0700 Message-Id: <20221028014834.572819-6-yury.norov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221028014834.572819-1-yury.norov@gmail.com> References: <20221028014834.572819-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747894238072454269?= X-GMAIL-MSGID: =?utf-8?q?1747894238072454269?= bitmap_find_region() opencodes bitmap_allocate_region(). Fix it. Signed-off-by: Yury Norov --- lib/bitmap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/bitmap.c b/lib/bitmap.c index 389446b6f248..2a85fe16f3fa 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1315,10 +1315,8 @@ int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order) unsigned int pos, end; /* scans bitmap by regions of size order */ for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) { - if (!bitmap_empty_from(bitmap, pos, pos + BIT(order))) - continue; - bitmap_set(bitmap, pos, pos + BIT(order)); - return pos; + if (!bitmap_allocate_region(bitmap, pos, order)) + return pos; } return -ENOMEM; } From patchwork Fri Oct 28 01:48:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 12029 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp559928wru; Thu, 27 Oct 2022 18:51:14 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6KeiE0xE0gy2/KayHfllN2bdzjbHtSZpLaqo6EaGDI++6x68YirIkR9iFGTl6gXj3GXqYD X-Received: by 2002:a17:902:dac3:b0:186:a437:f4b9 with SMTP id q3-20020a170902dac300b00186a437f4b9mr24891816plx.29.1666921873939; Thu, 27 Oct 2022 18:51:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666921873; cv=none; d=google.com; s=arc-20160816; b=ICC/AuZFK7kCoFIVY4AbbWqlc5I5SG8oxu+QL3FnhwOAxMx1+IkgNNhJ1aFUc6GL1g 47Ix2Q+QhyhVNIwVeB5muz/ijbGjJjEjjVFg3JFAzGjQZ/Sh2Y0lNLIdtMk16pkrHNKP scLAK9120Ywc3TbdFNsYjd3m1oJGgRvW1TVtJoHapQdIA1bbkSadqGYE6o5KZTCcTrwq M2q+eIoF8PDg5oEL6CCfRJaDfVT5gW47i5wCnRmE3UPcH/6mxYOZZ1CPkkbf6e9s67pM Lqi14CtvkKR8ajAjIl06L0t4TV1VxoWdS1RJE+Ey3AqZwANelj8W+aR1uomMuQF+uvEk h0Kw== 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:to:from :dkim-signature; bh=ABM6Qj3NxZjFFbqew+a/nfxO7MCA2/sBgc75TPhkyfM=; b=njVg68bT94uSUVfJCB5UCU/AJRzhIQ350GdZqEZ2TEtJv8P9NBeZwyIQ98/o6CMh6e dCdNsLAknzWWxlr28R9dRC6HbcOu6ySPYoTJoAKAH55+pHaZ86w5QzPl1Fy+cUNbe68c fixycZL4K+V7C1ZqcsWbwQy52zxgAv8nlgUCqbXtwO/HwjWHW4uOITodZBQtVWncq4Su n1C+cmulu2o0KhzbbmuIOFyJSfZMTYm0g+c56/8xbPKstumCwFjKN1mCVQZs8FqlK1yF 9rXUUsAbbUhynV5k0q749CMqn3eKAEeNIboHMunYQm7WHivawF6UA6EuSluHTj2IRwVQ DCew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=le7KQwhY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l71-20020a63914a000000b0046eecbac482si3596456pge.415.2022.10.27.18.51.01; Thu, 27 Oct 2022 18:51:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=le7KQwhY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235886AbiJ1BtF (ORCPT + 99 others); Thu, 27 Oct 2022 21:49:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235783AbiJ1Bsr (ORCPT ); Thu, 27 Oct 2022 21:48:47 -0400 Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F33B3ACA2D for ; Thu, 27 Oct 2022 18:48:45 -0700 (PDT) Received: by mail-qv1-xf32.google.com with SMTP id ml12so3221739qvb.0 for ; Thu, 27 Oct 2022 18:48:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ABM6Qj3NxZjFFbqew+a/nfxO7MCA2/sBgc75TPhkyfM=; b=le7KQwhYNdT4o/G8faZuKZXaCQiXbXPzBmn798kEV24s0tzqVbeGPRvNyLryj9dAlj pPuid4IZ28NwSfPeNRpfKwtRBYyChRs9krVINrXT6P425p7iKXtZg9SnSs9yUfb0xxsu fFMJFPz1jG+sZ5c2m2SBaxXwFDX50BiR4FQOnT7Yriyl9sJNKS5ajPzcryjcyWZSJosn eg4mlVdL2i7njhKs/KZoF//9ih8iepdsjOb2p65+PKgjFUZKRI75wel6G8JladusSbk7 tI6tJ1E2VbPB1b5MRRj0FzEQbivYfo07HZ0onwLeZQTL+4odD9kPgJhJ/M/e0AudE6FS Wzxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ABM6Qj3NxZjFFbqew+a/nfxO7MCA2/sBgc75TPhkyfM=; b=lrj7OxhgMrRRVdEOXbY+LgwL9z04udhy7DNjeH0IDjTLyci3RQIV7JH09Qj+c7gd/I FdOMlzK4fbkbSr2fdtzhDP9o2TcQkPnFT3D7JksH06A6KzEmPuLOybWb8ypzaP5Oh2NC sVqkcak8rJsubxPgcgEzZE1S3rvlVeUuof1V+tYyRV3o+9jiaRykoT0SPKT4lxLYxLmx HErm36xafjXpB5LR5G95IJmojCHsxhhTt/7GMCG0SOcRtcHNDtJStqrkwEpKXUQ25grx m6WWwFN4Xrf2RFLiZyeKWp+hMgzWgFgLzG/3k6UNy7SyoKOPEe1C14xsHzXiYXTwrIwF XvBA== X-Gm-Message-State: ACrzQf2+YmLW1X9kvFdNFMB502PhHxd6D/FMRPZ4YSuehYUZSexnwyGY TBo2MMkDw0SRzkTXq4HdgWP07yQhu1g= X-Received: by 2002:a0c:b256:0:b0:4b1:9f77:91da with SMTP id k22-20020a0cb256000000b004b19f7791damr44783109qve.84.1666921724552; Thu, 27 Oct 2022 18:48:44 -0700 (PDT) Received: from localhost ([2601:589:4102:4c7c:d8d0:78d7:ad97:2651]) by smtp.gmail.com with ESMTPSA id o18-20020a05620a2a1200b006cddf59a600sm2086846qkp.34.2022.10.27.18.48.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Oct 2022 18:48:44 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes , Yury Norov Subject: [PATCH 6/6] bitmap: drop _reg_op() Date: Thu, 27 Oct 2022 18:48:34 -0700 Message-Id: <20221028014834.572819-7-yury.norov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221028014834.572819-1-yury.norov@gmail.com> References: <20221028014834.572819-1-yury.norov@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747894270943182642?= X-GMAIL-MSGID: =?utf-8?q?1747894270943182642?= Now that all _reg_op() users are switched to alternative functions, _reg_op() is not needed anymore. Signed-off-by: Yury Norov --- lib/bitmap.c | 76 ---------------------------------------------------- 1 file changed, 76 deletions(-) diff --git a/lib/bitmap.c b/lib/bitmap.c index 2a85fe16f3fa..4aa4e871c95d 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1220,82 +1220,6 @@ void bitmap_fold(unsigned long *dst, const unsigned long *orig, } #endif /* CONFIG_NUMA */ -/* - * Common code for bitmap_*_region() routines. - * bitmap: array of unsigned longs corresponding to the bitmap - * pos: the beginning of the region - * order: region size (log base 2 of number of bits) - * reg_op: operation(s) to perform on that region of bitmap - * - * Can set, verify and/or release a region of bits in a bitmap, - * depending on which combination of REG_OP_* flag bits is set. - * - * A region of a bitmap is a sequence of bits in the bitmap, of - * some size '1 << order' (a power of two), aligned to that same - * '1 << order' power of two. - * - * Returns 1 if REG_OP_ISFREE succeeds (region is all zero bits). - * Returns 0 in all other cases and reg_ops. - */ - -enum { - REG_OP_ISFREE, /* true if region is all zero bits */ - REG_OP_ALLOC, /* set all bits in region */ - REG_OP_RELEASE, /* clear all bits in region */ -}; - -static int __reg_op(unsigned long *bitmap, unsigned int pos, int order, int reg_op) -{ - int nbits_reg; /* number of bits in region */ - int index; /* index first long of region in bitmap */ - int offset; /* bit offset region in bitmap[index] */ - int nlongs_reg; /* num longs spanned by region in bitmap */ - int nbitsinlong; /* num bits of region in each spanned long */ - unsigned long mask; /* bitmask for one long of region */ - int i; /* scans bitmap by longs */ - int ret = 0; /* return value */ - - /* - * Either nlongs_reg == 1 (for small orders that fit in one long) - * or (offset == 0 && mask == ~0UL) (for larger multiword orders.) - */ - nbits_reg = 1 << order; - index = pos / BITS_PER_LONG; - offset = pos - (index * BITS_PER_LONG); - nlongs_reg = BITS_TO_LONGS(nbits_reg); - nbitsinlong = min(nbits_reg, BITS_PER_LONG); - - /* - * Can't do "mask = (1UL << nbitsinlong) - 1", as that - * overflows if nbitsinlong == BITS_PER_LONG. - */ - mask = (1UL << (nbitsinlong - 1)); - mask += mask - 1; - mask <<= offset; - - switch (reg_op) { - case REG_OP_ISFREE: - for (i = 0; i < nlongs_reg; i++) { - if (bitmap[index + i] & mask) - goto done; - } - ret = 1; /* all bits in region free (zero) */ - break; - - case REG_OP_ALLOC: - for (i = 0; i < nlongs_reg; i++) - bitmap[index + i] |= mask; - break; - - case REG_OP_RELEASE: - for (i = 0; i < nlongs_reg; i++) - bitmap[index + i] &= ~mask; - break; - } -done: - return ret; -} - /** * bitmap_find_free_region - find a contiguous aligned mem region * @bitmap: array of unsigned longs corresponding to the bitmap