From patchwork Fri Aug 11 00:57:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 134295 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp826844vqi; Thu, 10 Aug 2023 20:15:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFk5vXtHbEK/T9vjyazKmyQ6Goa6Sii36d9KNTcal0HxrudTy7cUS26erH8wiMvuqo3hHcJ X-Received: by 2002:a17:90b:1b4e:b0:269:348d:c1c9 with SMTP id nv14-20020a17090b1b4e00b00269348dc1c9mr982665pjb.20.1691723734862; Thu, 10 Aug 2023 20:15:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691723734; cv=none; d=google.com; s=arc-20160816; b=lovp2tJO+7IPCNX0cWBHAXggHAwE6XSwzsSl3fcreZclv3VSxzIcAXftSK32zBsCh4 2pJZqaeidkySz+QMn4O8U/rp1kuNpnCb37Vh1vuduw+UFrXhC7yUJIA/WmY9BOCa+/p6 7VGsGkcdOiNhTJMcwsn99RhlDDeO+R3gyQOstEopHRJhjl/pbQIo+idu/hyVzEDZGHG4 5tWmYEBANH6MmC15rzk6IfAPS2sFKsfOMxbECB+es3sKtWe+KfpUS7/Dcl/3yREpc0Y4 GMwF8QOfEbQjL0phY28x1P78mf6lNCFBNNxH0J0FGhZTC9b7AH2zzctXKptFR0GMRCug xQuQ== 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=WF+XFRQyY75Yiz3rWJXa/ttxqCG+kgb/5I5lH/7+He4=; fh=cHPIS0B0xryN499NBDnMx1rX5txKNt2FKl+u/VWHhrg=; b=m33LNjO4Ui5OQJXBgVd3bm/Zo3OinWBDG0vEYRKAi6xQcNzNIrr9pm3h/QtwfxabsD UaG41GD+dJ92I2ETdzJ3jtA6OKlboPKF8pWxvDbp3OjVjNAGt65z/jxi9r1TVGIy1E5k S6vosOdQbqVb2VJLVBeKpIC61/GDW+46d+TUe8RdJQbb0LiWKd+V1hjMkFgiEc+3ZoSH byQwi5a70WmF91m1BRa1jzNCRow8S43qKX3oQJWaTmkTSze3PXEJfiGdB3TMcqI4/64l f3r8HuiHeNhtTJB1jkSKV6sBbPcZ/emh4nBT88cTQt4Yrx6vgr4oamVFeDttcI7xEeAz K3nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=B7jg4vPE; 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 13-20020a17090a098d00b00268273fffc0si4828315pjo.99.2023.08.10.20.15.22; Thu, 10 Aug 2023 20:15:34 -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=20221208 header.b=B7jg4vPE; 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 S231946AbjHKA5p (ORCPT + 99 others); Thu, 10 Aug 2023 20:57:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230215AbjHKA5o (ORCPT ); Thu, 10 Aug 2023 20:57:44 -0400 Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com [IPv6:2607:f8b0:4864:20::f34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2D212703 for ; Thu, 10 Aug 2023 17:57:43 -0700 (PDT) Received: by mail-qv1-xf34.google.com with SMTP id 6a1803df08f44-63cf9eddbc6so12931216d6.0 for ; Thu, 10 Aug 2023 17:57:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691715462; x=1692320262; 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=WF+XFRQyY75Yiz3rWJXa/ttxqCG+kgb/5I5lH/7+He4=; b=B7jg4vPE2H2M9zZ9Xn/iaedB22iWvFD+1UdWlOTO7HU7624YurMUZOEIDhyOIx8lvW W94BXo6CoxLgmgBJKdNpZ+zmv5kHjQyVrq+GZKKtb4NBWk/GUGI9qZlifhPLGTHVO6iy 5oE7Cb+/dCwFw8y0qDP72iCO3M07Uazon+1D0zPj+MGSfqi5JUpAO2vb0EF++RLgSR/W pBxoQ/xSzUpwUFEHzDNVIGs7Fy5Zg83b5VXxHDoWR4iKJ2yL/iq3gv4SS3zGTT884IKr i7zojZoQziKSPPeHmsusPkEA/12RLm7VnTA0TzfKvuhCSTj+9JK4g/w7oA9N5PeQ/mFl Rf8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691715462; x=1692320262; 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=WF+XFRQyY75Yiz3rWJXa/ttxqCG+kgb/5I5lH/7+He4=; b=JhyGl51SMGySU8mD6y81PfSSuWgsNHg+jHxGMG2nOi9oDMHuMzbrDC1Ix7UEb+7EEa R1a6XCbMM50osJtbk3wCVHtOAb2km9gGyhX+awF2wWjbLmriL+dRSbyb0L2mni0Jh1qc p1EQdHndTwAptw3qGajan22JoNtca1RoXRcfh1wxrnQkaYgYQzO+T5+OOOaafqKz6LOw zc9kviOwUnwY8EKFfNVoEq2e8TBFDTBPE4yrchS1YlaCMymu/frfq7LnzK9vUSc/Es6m rUmP9m+My4MtkD6FAA11gYtW+oNarsklS/rm9WdFvC3FX5VbIroHv+vcfWx8iHlhawfL eCiA== X-Gm-Message-State: AOJu0YzMOUTQfGxmfRqHhOM6ATY7UMo0jRLbbAeG6wdfmbImboa8yBIU iaqWSsniPyNyBUc9IHPHeBZLHVoZVX4= X-Received: by 2002:a0c:de06:0:b0:636:1275:8419 with SMTP id t6-20020a0cde06000000b0063612758419mr605433qvk.13.1691715462552; Thu, 10 Aug 2023 17:57:42 -0700 (PDT) Received: from localhost (2603-7080-3d03-3cb9-317d-7087-0f3e-bab3.res6.spectrum.com. [2603:7080:3d03:3cb9:317d:7087:f3e:bab3]) by smtp.gmail.com with ESMTPSA id l17-20020a0ce091000000b0061b5dbf1994sm839479qvk.146.2023.08.10.17.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Aug 2023 17:57:42 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Cc: Yury Norov Subject: [PATCH v2 1/6] bitmap: fix opencoded bitmap_allocate_region() Date: Thu, 10 Aug 2023 17:57:27 -0700 Message-Id: <20230811005732.107718-2-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230811005732.107718-1-yury.norov@gmail.com> References: <20230811005732.107718-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_BLOCKED,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: INBOX X-GMAIL-THRID: 1773900906778909686 X-GMAIL-MSGID: 1773900906778909686 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 ddb31015e38a..3a589016f5e0 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 (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) - continue; - __reg_op(bitmap, pos, order, REG_OP_ALLOC); - return pos; + if (!bitmap_allocate_region(bitmap, pos, order)) + return pos; } return -ENOMEM; } From patchwork Fri Aug 11 00:57:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 134291 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp824596vqi; Thu, 10 Aug 2023 20:09:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGfEDdDPf7uSQ+Nn12GvSglaauLhO0mkMvmeMqr05zZgGhaT2riIED9G7gXzkP/q9yftJJL X-Received: by 2002:a05:6a00:9a3:b0:668:9bf9:fa70 with SMTP id u35-20020a056a0009a300b006689bf9fa70mr745758pfg.34.1691723343793; Thu, 10 Aug 2023 20:09:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691723343; cv=none; d=google.com; s=arc-20160816; b=V/EJJrlw+BWMys8dMBr4eQEXcCDvE7Z2/mumzY+5lEa3ffDIFbquxkW5TvXIVV+cbe 7vk8ZRPWDilZJm4b6rkoZjUH76CGJ6cqpz7k2u5ySU53FjTi9uFDHtgTQAaK0UXfR5GE pqVlRlbE5DlCb5G932LkoL/ztq6fXs5p04EcKMeTB82XwrGP5EaDTCbg5s8UrLeNNZY3 eshrAGKsVQBZmOc+uyv0gNJTFb+qcuU8iv9qYipPBGW4MY6FdM5u6v7SKNNBoEnb8mQC NmKU9RwukhgE5YcC1XThNTKWn4DUjmgQzuIMK0sv6wnLY+N5+BPxN6K6uwgNlRiM9i3A sq+g== 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=O3H4QcxoOw2DG/R4k9BtZKu5lf2fmFfD2kmZ30iKZhA=; fh=cHPIS0B0xryN499NBDnMx1rX5txKNt2FKl+u/VWHhrg=; b=qPBLOnp5UOqmp104WwtxmmMkTuGJrtGNmTMpy+cqOVEBqdM+gg7BQQDtWbO4i2C/cO FBMIQT3UAvM7l9sS4D66SeGaFbQXM105qbelWZfYAk9ND4Q099qnnTVb79c4F8JUTooO BadA9ya9h4NufN9i8Wr4ZuJWNyp9REFMfiFpSny5UPSprAFtDIcROuw0X3QmydOl6GU6 PV1wG1bQtshAE6T1DAok0ukt/Wo0oWXnJmZq1JPg49UOr8iQCwcbgzQdMvnhZNvg174S Ae1YUTudGPqho+2Fbmnlvu8WRxATHwGZ4Fys+riwSgJ4DcG1yDZcbWTXMFxXXI7Kx6CZ /0pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=gKtmxZxu; 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 bq25-20020a056a000e1900b006878c40d5c1si2633596pfb.369.2023.08.10.20.08.49; Thu, 10 Aug 2023 20:09:03 -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=20221208 header.b=gKtmxZxu; 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 S232351AbjHKA57 (ORCPT + 99 others); Thu, 10 Aug 2023 20:57:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232018AbjHKA56 (ORCPT ); Thu, 10 Aug 2023 20:57:58 -0400 Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F7562703 for ; Thu, 10 Aug 2023 17:57:58 -0700 (PDT) Received: by mail-qk1-x729.google.com with SMTP id af79cd13be357-7653bd3ff2fso122454985a.3 for ; Thu, 10 Aug 2023 17:57:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691715477; x=1692320277; 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=O3H4QcxoOw2DG/R4k9BtZKu5lf2fmFfD2kmZ30iKZhA=; b=gKtmxZxuxUVBO7cgHEYVX9XcshmrkkoJZhXBY2GLXYQrnKyfPnI0U9809swzJHDZ7c SMunyTA5OtLAmQDA9HjXKioNvhDh/r/Kxu2eBVkA32ZaC+uW2lkhdee3Xiu1PwaSGwYK LecM9E3Bcv7aOUbiN2HJ+5FXpGJ6fy3QgKqFmO5nVxR2utYF1a5rvPWgofIEuV4r5FB7 AOHjSJOM60MhMiKXbRoYcLtLGvLnnLQt2LHC/Dd0atWedFQ0OgThRWpiWo1q7tJLzIEl JHHWvEPbqXQImqblOF9n9SZ4eniDKmvdWeI617tCNbjzXSHiivirpOPAt8IvDMS8WHqH epZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691715477; x=1692320277; 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=O3H4QcxoOw2DG/R4k9BtZKu5lf2fmFfD2kmZ30iKZhA=; b=jlLr5tGka+b56UN5SzjXN22xBBP1FWJ58JT17XaUoiZKQatU3XLLf7ALrE6/c8cwQW z1ZtQbQVRhLN2jVtWQ9jU7bsJsTtz/EN1MmFrmgtwO5vTD5X0z0M8bIALAC+HWU9M40H 7NAiVh4f62Lhn2jPNN/EXyFV61UAIshhiEtDioYo4b/Us746caMZZQudo3uraVe4shdm Df+RP+rK0baof8QpgKPTzUejsAJPANEPb+VqfWfIXCP9BnMXruWKGoq1JAVcrKmIg2lB rkBXxJ63XOzg6Ka7eFadB1FGXgrtkDppAEMglB3D7l+eiP3J+AU5hyGS6SD41uamjweB MnJQ== X-Gm-Message-State: AOJu0YwWL8hs9svJBMjRTnk/E6e/0hjC859EU/+asloYYGNMdFGBAtvc 2SM0cO7oWCQs0Jd/3LlNQ2+AMLs2Q7s= X-Received: by 2002:a05:620a:410a:b0:76c:ecef:28c with SMTP id j10-20020a05620a410a00b0076cecef028cmr595311qko.57.1691715477212; Thu, 10 Aug 2023 17:57:57 -0700 (PDT) Received: from localhost (2603-7080-3d03-3cb9-317d-7087-0f3e-bab3.res6.spectrum.com. [2603:7080:3d03:3cb9:317d:7087:f3e:bab3]) by smtp.gmail.com with ESMTPSA id i26-20020a05620a145a00b00767cdf23ee3sm863627qkl.92.2023.08.10.17.57.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Aug 2023 17:57:56 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Cc: Yury Norov Subject: [PATCH v2 2/6] bitmap: replace _reg_op(REG_OP_ALLOC) with bitmap_set() Date: Thu, 10 Aug 2023 17:57:28 -0700 Message-Id: <20230811005732.107718-3-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230811005732.107718-1-yury.norov@gmail.com> References: <20230811005732.107718-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_BLOCKED,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: INBOX X-GMAIL-THRID: 1773900496513691092 X-GMAIL-MSGID: 1773900496513691092 _reg_op(REG_OP_ALLOC) duplicates bitmap_set(). Fix it. Signed-off-by: Yury Norov --- lib/bitmap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/bitmap.c b/lib/bitmap.c index 3a589016f5e0..c9afe704fe4b 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1352,9 +1352,12 @@ EXPORT_SYMBOL(bitmap_release_region); */ int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) { + unsigned int nbits = pos + BIT(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, nbits); + return 0; } EXPORT_SYMBOL(bitmap_allocate_region); From patchwork Fri Aug 11 00:57:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 134284 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp815290vqi; Thu, 10 Aug 2023 19:39:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHMxBXiSlQ4juruPlmnSZCPhiUCxB5ua9IVnJKDZUsGuISuWtSpctEdFvbnbSjw1FEwKeUH X-Received: by 2002:a05:6512:ad5:b0:4f8:49a8:a0e2 with SMTP id n21-20020a0565120ad500b004f849a8a0e2mr366978lfu.16.1691721561087; Thu, 10 Aug 2023 19:39:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691721561; cv=none; d=google.com; s=arc-20160816; b=ug6z8EvReyJtygvmT5bz36lOxLinz6hDnwRQjyISLHUGrkgVwENle/R/A0xrIKZ0yn JoYleuh3W6Ig3t/oI5K3Z9fXhCqJ3Lq8mkiceFN/lIxXXFZLr9VcfUbqt3NgSZoz96Gq BHN5SuGCfVDl4pDk66wQjpqWE++JsF/6K6X/fStQQ+0pWnqojB+waGs59OUMmZ4FoxcR dxEuSJVEjMPF1wDzebTrJ/1DsezLqvQR6KRrh7nA2aKLMjqdK4TlLygNbtO488fYMRXT ny7guSKikelVFeivCVY8wKnZRMVGreuAwShKk3Eno0CAO2uojgwEkWJ/UWVOly5yC0md V/cQ== 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=IZksORGx0XEJoHoQJWtGvDBXPP9r6WCKakCBbKb77Tc=; fh=cHPIS0B0xryN499NBDnMx1rX5txKNt2FKl+u/VWHhrg=; b=U2G4L5r4DXky1PFULKBsM6XSN2+wIxqPEe58rncXERAc342uU8sL4ge0aiQGLzT5QX nE6MTIJhANncsziaMlPT7NnhGEgA7tS42SwovUo5Vil5LMQzwBx1tmEq9PoeYPzLmeVf GeRPfL9jGUvgiDzSVrBtx+yPF0JpfPtPakSnH6KudyidgwrXTsKpQFloPMWa9/zFGiAP Wj8oysA4sr035rerzNm5bORM7/MmuKCXc3fQy/dgNO/EZsnnp6uI840YKkROnbOlYxsM SvHEUmpm9+LbAXJByW1QYX9yWVW0hE8IPZWFw9vCGrs1vfPDSFShxTYy4diUfqHeX8EC xo2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=MrN6rxEQ; 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 j22-20020aa7c0d6000000b00523b4d7af90si1678354edp.565.2023.08.10.19.38.56; Thu, 10 Aug 2023 19:39:21 -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=20221208 header.b=MrN6rxEQ; 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 S230403AbjHKA6n (ORCPT + 99 others); Thu, 10 Aug 2023 20:58:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229642AbjHKA6m (ORCPT ); Thu, 10 Aug 2023 20:58:42 -0400 Received: from mail-qk1-x72f.google.com (mail-qk1-x72f.google.com [IPv6:2607:f8b0:4864:20::72f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E58432706 for ; Thu, 10 Aug 2023 17:58:41 -0700 (PDT) Received: by mail-qk1-x72f.google.com with SMTP id af79cd13be357-76cd8dab98fso111470385a.3 for ; Thu, 10 Aug 2023 17:58:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691715520; x=1692320320; 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=IZksORGx0XEJoHoQJWtGvDBXPP9r6WCKakCBbKb77Tc=; b=MrN6rxEQXE2snBruLDXyyvw8qGzZqN6BoNHU88edT9Qx00HrAyPBx/sMxzn1IWebx6 61AJtpZK8DH+ng5Fn6Nkt0pRjG3Zdw7E+K00C74G7YHHFGmWCI3Ru8EHZ0GuZl2mKWgV VRuvsC9Fjk1S7p/mN2FOQwElnHQTnO4w1I5y2KG2y/GSR9T7b7anaSSQ5m0ET5/3JbId 4NWrJNoqXAW/LpC4ldDmBVT1NdRetZI2SV80MBjH/m99iUw/viryqLEXMZ+Xf5Ohd+J0 5KEE3S6pZnoCH+9MrcqAzcJzBjDmvAbSbMtYJ5HgwTW7QuP1m3qQ0GOS1Zui/ez0+9Xj cUOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691715520; x=1692320320; 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=IZksORGx0XEJoHoQJWtGvDBXPP9r6WCKakCBbKb77Tc=; b=I2K75vyzaZdLnrqFnXa9nLdcbkZb2Ho0NycjU5Ze7QYxYsHCfiIDXp02mxLPeMj2br R4kNKXitHgUsICe60BGWlrLACFhcxcts9t5ndJVeTXJT89wsOfot3wGSaMEtvo9NyJFT 5WcCkmIkB9ruTDOM3Hl/1AaMyTUKKaYMqW2TVZt/FpI0rkfkcR6SfrUthTfEHOVv2Dmy jTf45ETSyRVq2EY3pvzkywxyxy/rUQ1QEo+QtpdWwKVHg+sqNOR0pzya3UiHhr1oFa9v 1xxv33qwIq6boIJm39ClOXD2geL4ou0zwwtbxQE2KZO9M8DhzVxHyUTw/JjyZY2+wMNm 0Y0g== X-Gm-Message-State: AOJu0YzmgtGFK6KOt5gFS+03UlbDvIfO26uY2gi1RdjSHd7xd30NOo40 DSixLjfJQ8PMdGCjHdKgBFh9xcSdxgs= X-Received: by 2002:a37:b643:0:b0:767:dee0:455d with SMTP id g64-20020a37b643000000b00767dee0455dmr435761qkf.20.1691715520570; Thu, 10 Aug 2023 17:58:40 -0700 (PDT) Received: from localhost (2603-7080-3d03-3cb9-317d-7087-0f3e-bab3.res6.spectrum.com. [2603:7080:3d03:3cb9:317d:7087:f3e:bab3]) by smtp.gmail.com with ESMTPSA id r2-20020a0cb282000000b00637abbfaac9sm872379qve.98.2023.08.10.17.58.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Aug 2023 17:58:40 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Cc: Yury Norov Subject: [PATCH v2 3/6] bitmap: replace _reg_op(REG_OP_RELEASE) with bitmap_clear() Date: Thu, 10 Aug 2023 17:57:29 -0700 Message-Id: <20230811005732.107718-4-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230811005732.107718-1-yury.norov@gmail.com> References: <20230811005732.107718-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_BLOCKED,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: INBOX X-GMAIL-THRID: 1773898627214022203 X-GMAIL-MSGID: 1773898627214022203 _reg_op(REG_OP_RELEASE) duplicates bitmap_clear(). Fix 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 c9afe704fe4b..0ffafc41cd56 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1335,7 +1335,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 Aug 11 00:57:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 134268 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp794786vqi; Thu, 10 Aug 2023 18:39:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFfI8qrZPbBz6S6lCqwX8VIyjDUkEppr2RWOrR/LhNQ9NIt5/AeCEGdyqmtj7ADCf/wrDkz X-Received: by 2002:a05:6a20:7351:b0:140:2ec5:2bd3 with SMTP id v17-20020a056a20735100b001402ec52bd3mr4516099pzc.27.1691717955097; Thu, 10 Aug 2023 18:39:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691717955; cv=none; d=google.com; s=arc-20160816; b=OASlO6IbV5CZj7dR0hKuhGuC0cZJyiSdzPpw2xlhZz21oT6107efQomWxS19mdJNff 99omacG5m1rtiEuTX8L0ryYc6eoVUb4F0AMtxWWuKZNC0K3nLRwvOpmYG1MBvAuK3RVF q77Ag04TvejO55fVqTtMIdsinzo7ruydVING5iYDmc/szmgVOu4dNyYa80+0Nkof3SQX Y7z8mTaYryOcPBva99qAYnXFIRR6G/PEc3TkvIOGoER5JJc7dyQNtZ+0JnifkFwhCZCc qg1ooM3Vy93dPa/RUVeykkMshIg1gHN27D416uQXG9KpWiHUT5AtH5Q/A5RvXUIcRsYq Slzg== 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=QUOs2rZgGkBFFSdaCrQAmAwIIFAJLWjtOt57qeU+xpk=; fh=cHPIS0B0xryN499NBDnMx1rX5txKNt2FKl+u/VWHhrg=; b=t2QyMB4WHN38H+Bn+4lUm+GInWHeuE8h6L8qL7AOqBXW//AY3Vk//nbL5+TPjPr8lT SKTPSkdEj7OucsiEPNaLU/4pkXkyDdHzth4wmuWvgIHWeYQsOMjhkxIR+E08qIyupLcf pgk3tekpeyAhPdgc6RqdgmoWAVL95wOIQ4hSZJqusjkVtfiQBKLQczcDp1Uo+mNqwz1D LuCPtobzFLwRbTSpqMvNmTk3Ja8q4Fa8IBAG+FY0dA3OFmrdDnzfkXd+KSRwHKUqdqFa MQg082amQ4unMJB3MXpzwnCLNGbYlGYjMjTUZOscJjgOYM9fmQv2Jlhctfy8LdFzOaVX 0uJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=bWO5Ub9R; 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 a14-20020a65640e000000b0055acc7f8088si2526395pgv.301.2023.08.10.18.39.02; Thu, 10 Aug 2023 18:39:15 -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=20221208 header.b=bWO5Ub9R; 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 S232435AbjHKA6q (ORCPT + 99 others); Thu, 10 Aug 2023 20:58:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231303AbjHKA6o (ORCPT ); Thu, 10 Aug 2023 20:58:44 -0400 Received: from mail-qv1-xf2b.google.com (mail-qv1-xf2b.google.com [IPv6:2607:f8b0:4864:20::f2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AF262706 for ; Thu, 10 Aug 2023 17:58:43 -0700 (PDT) Received: by mail-qv1-xf2b.google.com with SMTP id 6a1803df08f44-63cf9eddbc6so12933416d6.0 for ; Thu, 10 Aug 2023 17:58:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691715522; x=1692320322; 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=QUOs2rZgGkBFFSdaCrQAmAwIIFAJLWjtOt57qeU+xpk=; b=bWO5Ub9RI9saPBfTCrM4APPk2LtmNtuAV6RiDOnMARB61Hxkw/Un9TVs2diTw111yH cBn1I0riUBRZp+SFQSxGss1HLm223XhTPPpjhwZabbAqelNpo2c+lX0N3vOzyOzL5k4L +9E6U7aFGubdsEUn7iPB4PvlMMQy+cW+R9oNjgjQ/fmQxu/gRu9/LsMJLIemqrZN7Vpu vwlN7j8TPj5rw730n0oeP9uMve/D1SsalCy7o/ro79A8gNEB0KeIEAsLu2JKKunpbMvz Jy3an6fSEHEO02ndLoudxLJ998yR0/pQARxjog0UmtdjqvJgnmp/VRtpBZIKUrqdU6Y0 qScQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691715522; x=1692320322; 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=QUOs2rZgGkBFFSdaCrQAmAwIIFAJLWjtOt57qeU+xpk=; b=RMpZRFmJxVxjMOfVecNY52O2qv41qpSo+fyHnOwIItWY7TPT0J4AlQO17EV/lVPbDr 2+xTEUb/4eMm2FHu140ubQ8gGE+MaU1BvcKhgZsgftJekdAV8pC8CkSiifIel2VEzSyj jHBs+I9qcheWD7sa+BwiHwCnUVg0NJkH+ToEH0orQlKD0YfZ4Q6uAALLhO8rbwb8wv2c 6LzgObkEX1iwuWZnSX9AlRln3h9dvdSljcr0UuK9KxzzY1znoTvRXddOTgpQiBTLBRCC CHuHafB1XSlsjJiEf0++95Qq06n6sBEPqv8v76TDoaSUSK7XPqo15V1AKKg1xRXebGo0 PoHA== X-Gm-Message-State: AOJu0Yzgn1eGCcb/MA1cKlJnt5gmblhbQkL2j46qsFvbNqW5LmgvNlsS AErDPkmVHOgwkHqp1teYjUXpcjwixYw= X-Received: by 2002:a05:6214:492:b0:635:f546:83d0 with SMTP id pt18-20020a056214049200b00635f54683d0mr4384813qvb.11.1691715522210; Thu, 10 Aug 2023 17:58:42 -0700 (PDT) Received: from localhost (2603-7080-3d03-3cb9-317d-7087-0f3e-bab3.res6.spectrum.com. [2603:7080:3d03:3cb9:317d:7087:f3e:bab3]) by smtp.gmail.com with ESMTPSA id h14-20020a0cf44e000000b0063d38e52c8fsm871376qvm.18.2023.08.10.17.58.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Aug 2023 17:58:41 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Cc: Yury Norov Subject: [PATCH v2 4/6] bitmap: replace _reg_op(REG_OP_ISFREE) with find_next_bit() Date: Thu, 10 Aug 2023 17:57:30 -0700 Message-Id: <20230811005732.107718-5-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230811005732.107718-1-yury.norov@gmail.com> References: <20230811005732.107718-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_BLOCKED,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: INBOX X-GMAIL-THRID: 1773894846908229394 X-GMAIL-MSGID: 1773894846908229394 _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 0ffafc41cd56..d4560acbe077 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1354,7 +1354,7 @@ int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) { unsigned int nbits = pos + BIT(order); - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) + if (find_next_bit(bitmap, pos, nbits) < nbits) return -EBUSY; bitmap_set(bitmap, pos, nbits); return 0; From patchwork Fri Aug 11 00:57:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 134270 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp798926vqi; Thu, 10 Aug 2023 18:52:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG49LCCwOmStN9nmIkTylZ9MQXSrl8DA9Se+PSPqIDf8ukMTICqXKfFXJo3PYyokATvn2wh X-Received: by 2002:a17:907:779a:b0:97d:2bcc:47d5 with SMTP id ky26-20020a170907779a00b0097d2bcc47d5mr476573ejc.49.1691718727209; Thu, 10 Aug 2023 18:52:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691718727; cv=none; d=google.com; s=arc-20160816; b=WXKoiYxZHVLm1xMv6i51nKtP68qCyv5PYt2EwhxbfzsbTISRlBuwGPc8SmxuRS2tQR PwEsMLxSTMq/52nl+LZaTcEE81RH+D40PBN9lr0E2lyyGuGUndgfZMu5ARTrrgAo9ix2 Q7lRrNo5YEoJ8izFld4xzm9KNBeBNbgqDiHk3H9oGO40H8cMf3lzt0tbDzoLiqtVjdWX 73EgCE80anhV1xpLt1Xn23wpAdkKlMiVMmjzUchvpRkr+TgRFJdgL/YogZ9ZHm6pAk/B KsRANBf481TMXM0zgTVajADKxeI6XZf3pjT0f4OV1Ol71ArrYbb9Udh8wNlQyqJRUjmn RM9w== 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=gLUgq5sJsnksu1tWPL/AvbQtFjshrxem+O1ixGkwgGI=; fh=cHPIS0B0xryN499NBDnMx1rX5txKNt2FKl+u/VWHhrg=; b=J0NhttmE/DU9fX6eN2FQNZDPQh8seNf3nLMhPUcyldxZ3ULoU6lU4RJ8NmnmT/FRBy Eu/2ACxF5X8jiJNnP/3qRKwk18fqYVygjtwZFkZBZFv+0yGoSVO7QhOD3EwCUlg5PXvW hWxdO7Xj32yasrpV3lpZ707TPHNZEZ7C1iOeA9RrsKkqSJVq8cmdk2gx4JgqvXwo48x3 cIFxGspWTUlCrhLLdP6jfPb+JelpwLrzBiOzM+8mDtSUFVvzfj00KIGUkQ87ZK4WotC+ ZjMv//3bmncxYijrAXFa3caG0GAw5s1c2ypZWPLz/NQdEupaDvfwYAfHH/uzotm2AR3p J33w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b="c/N3HdTF"; 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 f17-20020a170906049100b0099cc4b278c9si2354469eja.208.2023.08.10.18.51.43; Thu, 10 Aug 2023 18:52:07 -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=20221208 header.b="c/N3HdTF"; 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 S232533AbjHKA6u (ORCPT + 99 others); Thu, 10 Aug 2023 20:58:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42270 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232397AbjHKA6p (ORCPT ); Thu, 10 Aug 2023 20:58:45 -0400 Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3CEB9270C for ; Thu, 10 Aug 2023 17:58:45 -0700 (PDT) Received: by mail-qt1-x82f.google.com with SMTP id d75a77b69052e-40fe3850312so9889321cf.1 for ; Thu, 10 Aug 2023 17:58:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691715524; x=1692320324; 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=gLUgq5sJsnksu1tWPL/AvbQtFjshrxem+O1ixGkwgGI=; b=c/N3HdTFafA30pqcnQ6Yi6qPggV9xJGETGJJKibehzqerEjPIpg5gT2EylgZodM2kB 32Cc02zA1Rz6tGpFsPWRZAKtPmTnAP3XcDAdretq5Z2V2d2GnEBncvoKVoyrmV6ZhHnI h+Yd1j6GPDBCvFFpvIVerW5jdoqgDSCjo84T0+trzyNMYSI3JMOsPptOfcO0jPLJb4Pj IFC8VrD2FIgjKPNCW4uLUGfe4QSVzqdeZt5MNZjP22uXb4K99snRgVjvN8WL5tz7vpIl 1783PLW1DgiCN4+3NAChXo30B/4D7Zd7dT8jF3nWLZpaY7l265YzeteTNE0LVEY9g3lT nOSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691715524; x=1692320324; 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=gLUgq5sJsnksu1tWPL/AvbQtFjshrxem+O1ixGkwgGI=; b=dc9E2OP0ihHSGofZO469igWIyS6DCl+HeCEUovqvfYKJU3PzifcGpdrqcgz6o3CFQ6 NRB8MZ9+K/AyUisdxzwDfUGt4yQIL+9zwHQ736Q6lbSVnX8WT4bi6e6X69whBxUdFn56 cg7mB26rxVP2GuqBsgiU4r5DfHGOFBhuHynG9ZOJPXF5VGH+wYtwRlWSmbYB6TDv/cm5 iVJ/ad2bl5m/Zq565ySnLHIo+QqQA41sTTliPZ6qmu8TIWyHlKIkCDTPwCShuVNaxwWH tcAubrVhhGnMe7ERtr9SiH5Gw4YMEFuhImId4MvTeCimJDAoW+Hqaakvqv92yQGqeQqP ncRw== X-Gm-Message-State: AOJu0Yy12Js7dbpLPhOsPC3OhSdfuKDnWNiqd3itKYgNkd4aAsT6+rbj e41o6Xy/00MU9/4l0hHHiT08r2Ab2HM= X-Received: by 2002:ac8:7d51:0:b0:403:9be1:c969 with SMTP id h17-20020ac87d51000000b004039be1c969mr545246qtb.62.1691715523874; Thu, 10 Aug 2023 17:58:43 -0700 (PDT) Received: from localhost (2603-7080-3d03-3cb9-317d-7087-0f3e-bab3.res6.spectrum.com. [2603:7080:3d03:3cb9:317d:7087:f3e:bab3]) by smtp.gmail.com with ESMTPSA id c5-20020ac85185000000b0041031c46637sm576022qtn.48.2023.08.10.17.58.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Aug 2023 17:58:43 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Cc: Yury Norov Subject: [PATCH v2 5/6] bitmap: drop _reg_op() function Date: Thu, 10 Aug 2023 17:57:31 -0700 Message-Id: <20230811005732.107718-6-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230811005732.107718-1-yury.norov@gmail.com> References: <20230811005732.107718-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_BLOCKED,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: INBOX X-GMAIL-THRID: 1773895656424307905 X-GMAIL-MSGID: 1773895656424307905 Now that all _reg_op() users are switched alternative functions, _reg_op() machinery 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 d4560acbe077..ae619523c3ec 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 From patchwork Fri Aug 11 00:57:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 134283 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp814656vqi; Thu, 10 Aug 2023 19:37:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH8PmYDSAc0J4fUMV3oAS+XKZcTvcf/UhVNMOkmo1RDc/bjeN0EoXV4yokpISV4Qo/J+Osm X-Received: by 2002:aa7:c3cf:0:b0:51b:c714:a2a1 with SMTP id l15-20020aa7c3cf000000b0051bc714a2a1mr622361edr.7.1691721451094; Thu, 10 Aug 2023 19:37:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691721451; cv=none; d=google.com; s=arc-20160816; b=pU5v0ouP6gdjY2oNx1/KCVyLaek9vR+Fy2TDEsDVw2zCYKJmRVgZjXHxpD2dfjL6nD 5uei1dh/s0HOoDbKxl+OWHmhpHk6UtZbFLjNnUatJ0cpecnqteBkRi5vXR5HCgrfiLca QlAJ+sGUQ+OR3cPU9zXQU3aq0i1Fu1L0VpcZh93uVo36z0w8NiX8l277gKxkkgXenA2f 1Y/7Byljv6S1qqT/wzDWqmdLD2r2S5Wc0cZTG0OQblYep4iFQevbfdY5B1TuDDkhuB7c Wj5Mig9c4Bp1I+4Wx5uIvUREALOpfkPhIJjeT8+iVBPZHzvBGwR5qkYouCoXFRodj/yz dxjw== 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=ddLmhN15PUj4uyQW+oDahxYwNd51fKztIVjwBzF/ptQ=; fh=cHPIS0B0xryN499NBDnMx1rX5txKNt2FKl+u/VWHhrg=; b=vPLMU6LhqKSOXwT4wdO6Fu1BTeuF7uw4w2sHVN+TSxXB2ZyqOVEVj73s5J/3tGht/u IjYfCF6xn4i65fh+6qD/4cDOCM0yk1LUKPs6S9J+7UHjrqsi1RQuyaEWt0iOg0jI56Kq FA96tKBu23Wjf+Rs6o95B9SbNp4S6y4MRO8qNoVv9hab8zHQY/SaEV8paB67qTu6PCfm 7OPl+dg5nL94GQCV1/of2W+aNKKNJS4PjVI+E0Jv2Dhm7Wi0QFdXNonPAUaaUY497X/M UaYXlKptrPp0X1IBz8eWoEIckuskh2g3Y4vPjzIhQLEuur0+9dpQv+WBBTa3ad2+IQHq a+Xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=MyIhrapm; 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 n4-20020aa7c684000000b0052340601105si2538122edq.604.2023.08.10.19.37.07; Thu, 10 Aug 2023 19:37:31 -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=20221208 header.b=MyIhrapm; 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 S232397AbjHKA6x (ORCPT + 99 others); Thu, 10 Aug 2023 20:58:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42302 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231303AbjHKA6s (ORCPT ); Thu, 10 Aug 2023 20:58:48 -0400 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF3E5270F for ; Thu, 10 Aug 2023 17:58:47 -0700 (PDT) Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-40fe3850312so9889521cf.1 for ; Thu, 10 Aug 2023 17:58:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691715526; x=1692320326; 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=ddLmhN15PUj4uyQW+oDahxYwNd51fKztIVjwBzF/ptQ=; b=MyIhrapm5pg0ZvgXd8y3on/19UYOWUBhXu1RZbTu6tX/SyV+oEcd+itArGcjAmaoxd TNdbTtDJ/LR70ieXCK1POeEsPb4CBbQUW4pZN+v/axywsnJsG+7/7qfvL/ZkChuMYnfW irxpyJbmS6AskxC1yE4zV5gN6g4XmOoIF9z0iD6y5cANGI/wYnwswqM6MnJ2gGaEDPTg SliQmRFeLMrNzfgfd4JF9sh9heGSnKW0gUUVqT5s1P4GVkwPxdpt/9+H4Z2l80Df0Mog xDGS5PLz3TRdFFEkj0LhoBxJjAeShJohN5+UN7Ze/lDoHhKycDypH/QAG5MhXHRQXdRE EBgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691715526; x=1692320326; 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=ddLmhN15PUj4uyQW+oDahxYwNd51fKztIVjwBzF/ptQ=; b=Z0Oz2+CI4fwAYdeBNJDEu1aLdIL1SDmV0DkyYHpZaipKdK0mmJI7rp4Ozqn64p4mdi xPgleWooXEzk2+msq1mMYBHWn4bHzzkcTYgfubXcQMABwHH+Gz2mkUWJ7+gJ+mCDK+e7 bbrXihr7yAuwem7DRDt7TS3g55X0r1Q4iqxe9fjjhEbJ5QmNU0Qypf2R1Lclhg1dqbYk ZZb+dHMStaj/w8NVEYaJ2z8okdDxePoUl+IP3vtg7DDgYbvKbN/oPxlokdgvB4DYjgMa Hv35u657Tpi+FqjgmgrAcU7tw2Noszb1pnorFxwvn3IiAwYvPXIr+oMDf1C73fX3gBi7 eMeg== X-Gm-Message-State: AOJu0Yz0uP507BI6rv9z58lx3X8GW+Fa6yTCF96OkSJG1gqb506Pye/B 988zosfwQX/elz3Yhw8j1WLew6hCrxI= X-Received: by 2002:a05:622a:14:b0:405:5cf5:7bf0 with SMTP id x20-20020a05622a001400b004055cf57bf0mr463636qtw.53.1691715526390; Thu, 10 Aug 2023 17:58:46 -0700 (PDT) Received: from localhost (2603-7080-3d03-3cb9-317d-7087-0f3e-bab3.res6.spectrum.com. [2603:7080:3d03:3cb9:317d:7087:f3e:bab3]) by smtp.gmail.com with ESMTPSA id ce11-20020a05622a41cb00b0040fef71dc1esm857965qtb.10.2023.08.10.17.58.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Aug 2023 17:58:46 -0700 (PDT) From: Yury Norov To: linux-kernel@vger.kernel.org, Andy Shevchenko , Rasmus Villemoes Cc: Yury Norov Subject: [PATCH v2 6/6] bitmap: move bitmap_*_region functions to bitmap.h Date: Thu, 10 Aug 2023 17:57:32 -0700 Message-Id: <20230811005732.107718-7-yury.norov@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230811005732.107718-1-yury.norov@gmail.com> References: <20230811005732.107718-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: INBOX X-GMAIL-THRID: 1773898512318520168 X-GMAIL-MSGID: 1773898512318520168 Now that bitmap_*_region() functions are implemented as thin wrappers around others, it's worth to move them to the header, as it opens room for compile-time optimizations. Signed-off-by: Yury Norov --- include/linux/bitmap.h | 65 ++++++++++++++++++++++++++++++++++++++++-- lib/bitmap.c | 65 ------------------------------------------ 2 files changed, 62 insertions(+), 68 deletions(-) diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 03644237e1ef..aa33fc290619 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -216,9 +216,6 @@ void bitmap_onto(unsigned long *dst, const unsigned long *orig, const unsigned long *relmap, unsigned int bits); void bitmap_fold(unsigned long *dst, const unsigned long *orig, unsigned int sz, unsigned int nbits); -int bitmap_find_free_region(unsigned long *bitmap, unsigned int bits, int order); -void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order); -int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order); #ifdef __BIG_ENDIAN void bitmap_copy_le(unsigned long *dst, const unsigned long *src, unsigned int nbits); @@ -599,6 +596,68 @@ static inline void bitmap_set_value8(unsigned long *map, unsigned long value, map[index] |= value << offset; } +/** + * bitmap_allocate_region - allocate bitmap region + * @bitmap: array of unsigned longs corresponding to the bitmap + * @pos: beginning of bit region to allocate + * @order: region size (log base 2 of number of bits) to allocate + * + * Allocate (set bits in) a specified region of a bitmap. + * + * Return 0 on success, or %-EBUSY if specified region wasn't + * free (not all bits were zero). + */ +static inline int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) +{ + unsigned int nbits = pos + BIT(order); + + if (find_next_bit(bitmap, pos, nbits) < nbits) + return -EBUSY; + bitmap_set(bitmap, pos, nbits); + return 0; +} + +/** + * bitmap_find_free_region - find a contiguous aligned mem region + * @bitmap: array of unsigned longs corresponding to the bitmap + * @bits: number of bits in the bitmap + * @order: region size (log base 2 of number of bits) to find + * + * Find a region of free (zero) bits in a @bitmap of @bits bits and + * allocate them (set them to one). Only consider regions of length + * a power (@order) of two, aligned to that power of two, which + * makes the search algorithm much faster. + * + * Return the bit offset in bitmap of the allocated region, + * or -errno on failure. + */ +static inline 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 + BIT(order)) <= bits; pos = end) + if (!bitmap_allocate_region(bitmap, pos, order)) + return pos; + + return -ENOMEM; +} + +/** + * bitmap_release_region - release allocated bitmap region + * @bitmap: array of unsigned longs corresponding to the bitmap + * @pos: beginning of bit region to release + * @order: region size (log base 2 of number of bits) to release + * + * This is the complement to __bitmap_find_free_region() and releases + * the found region (by clearing it in the bitmap). + * + * No return value. + */ +static inline void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order) +{ + bitmap_clear(bitmap, pos, pos + BIT(order)); +} + #endif /* __ASSEMBLY__ */ #endif /* __LINUX_BITMAP_H */ diff --git a/lib/bitmap.c b/lib/bitmap.c index ae619523c3ec..1c5d1f5d2071 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -1220,71 +1220,6 @@ void bitmap_fold(unsigned long *dst, const unsigned long *orig, } #endif /* CONFIG_NUMA */ -/** - * bitmap_find_free_region - find a contiguous aligned mem region - * @bitmap: array of unsigned longs corresponding to the bitmap - * @bits: number of bits in the bitmap - * @order: region size (log base 2 of number of bits) to find - * - * Find a region of free (zero) bits in a @bitmap of @bits bits and - * allocate them (set them to one). Only consider regions of length - * a power (@order) of two, aligned to that power of two, which - * makes the search algorithm much faster. - * - * Return the bit offset in bitmap of the allocated region, - * or -errno on failure. - */ -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_allocate_region(bitmap, pos, order)) - return pos; - } - return -ENOMEM; -} -EXPORT_SYMBOL(bitmap_find_free_region); - -/** - * bitmap_release_region - release allocated bitmap region - * @bitmap: array of unsigned longs corresponding to the bitmap - * @pos: beginning of bit region to release - * @order: region size (log base 2 of number of bits) to release - * - * This is the complement to __bitmap_find_free_region() and releases - * the found region (by clearing it in the bitmap). - * - * No return value. - */ -void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order) -{ - bitmap_clear(bitmap, pos, pos + BIT(order)); -} -EXPORT_SYMBOL(bitmap_release_region); - -/** - * bitmap_allocate_region - allocate bitmap region - * @bitmap: array of unsigned longs corresponding to the bitmap - * @pos: beginning of bit region to allocate - * @order: region size (log base 2 of number of bits) to allocate - * - * Allocate (set bits in) a specified region of a bitmap. - * - * Return 0 on success, or %-EBUSY if specified region wasn't - * free (not all bits were zero). - */ -int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) -{ - unsigned int nbits = pos + BIT(order); - - if (find_next_bit(bitmap, pos, nbits) < nbits) - return -EBUSY; - bitmap_set(bitmap, pos, nbits); - return 0; -} -EXPORT_SYMBOL(bitmap_allocate_region); - /** * bitmap_copy_le - copy a bitmap, putting the bits into little-endian order. * @dst: destination buffer