Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp1445026rda; Mon, 23 Oct 2023 12:50:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGVpS7tUZDEs3BCLDZvrur+nt4SvQ7gFNq0mM2P8ymZHaFIFPvoSuCQY1TGDB8KPOMr/ww7 X-Received: by 2002:a05:6359:2d81:b0:168:e4d0:a743 with SMTP id rn1-20020a0563592d8100b00168e4d0a743mr2784772rwb.21.1698090605676; Mon, 23 Oct 2023 12:50:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698090605; cv=none; d=google.com; s=arc-20160816; b=Lg8SedhFPYTeIt8np9GzhUhTHaVtdOIcNW1L6AoxDH/AlBEUU8yrmTWQrWtD3n9dN1 qBHLUR6dJS4IGRamz6KIGKi12K3dtPpe1sYBQoRhOblbaZY8e825AZZypizhOquEiX+T 5FfBZxqiaKbkUr1dW+NkmdZigq7/5UDHARgkJrUD20/YDaRUOqlrtS9KBEGvCgf+IA+A QvfQbLZkYEjkVbk/rKYx9CIIuqc6JmNuVfavSSRj9myMQSW/J82kwplH4oTDxA7N1mfY rF5DpMgYkNUsU3CesezD1jq9HFZ8HaZLQuRhKGZ9/FM+0EoSZIMNx7nsXkQb+q4hMoYW X9iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ttz5rBRL1Jy19E+9CxRt9XRkGxHoUeVTirffLlhx84U=; fh=uXx808iyJ87a9og5evRoJU5cIN77lxKlNW8NYwNbD2s=; b=bGjQy+7znL/yl2vibCZaUf8QLpQz1s5l8YUoQ6M2ZtJLHoAXZLNeDQvUr7t6Zoq/Vc ARXIZvPy1nbCqo37Z04nPVgGCzxAhjVGt83tbBDu6TXHk2Idq1v7TDeL0G/X6AqiJI2Z HIHEUZngSeP/Z8J5FZehb4qeESZy8DfRjEpZGLm6cOROo42Pg3aKQwtgTaB43CS0dQOl R1P2ICyrrvr4hRLCNpUESGTOOnKvP8h2Rub8TamjQbdBTz1ymTrulI0udLyVZOt5j0n2 s9wByYh19qn/tzOEJ8Xjx97lyNqZz0sPGoJvtUwvSsxlQ+UpPk78Lv9LvhhiZUTsPZte GtWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=c5hkTmAU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id l196-20020a633ecd000000b005aa0e7d39f4si7219469pga.733.2023.10.23.12.50.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Oct 2023 12:50:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=c5hkTmAU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 6734D8060064; Mon, 23 Oct 2023 12:50:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229650AbjJWTts (ORCPT + 99 others); Mon, 23 Oct 2023 15:49:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229447AbjJWTtr (ORCPT ); Mon, 23 Oct 2023 15:49:47 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27F119B for ; Mon, 23 Oct 2023 12:49:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698090585; x=1729626585; h=date:from:to:cc:subject:message-id:references: mime-version:content-transfer-encoding:in-reply-to; bh=J8kkGPGrRHzQhaJcAp1Zd8ubZN3m3z/0+i1UyhXKh5Q=; b=c5hkTmAUw7VoVqA7hLCgBOMvTGdSKmarUjaKg0/gbgKBm+VLd0hbMs7e xRDuWGYKzPswhvymK4E77cOCe17lPAv5qdimx74/uU/6jEKAUTsh4RuPR KW3lJpuPDB6OVCQ67UOd4LWHM/+qCm4/pa4iwKfdV4kcL8qTwiCpzylE8 NPcvo3jM2hz61QRbAoj/vng+y7CKA0proEgO0yPkcYQIvOl9NKn2Ne2GZ kmJtv0GacOQaJTJmxONPy7J3Xd6W13OOHFrcRjZIWXZnjeVWN7FkMnVF7 3eSbKfSn5QbvrAra3YispknbqFAbIUnolO+a9iXsUt7/Y3x1Rx/CJQRUj w==; X-IronPort-AV: E=McAfee;i="6600,9927,10872"; a="8471606" X-IronPort-AV: E=Sophos;i="6.03,246,1694761200"; d="scan'208";a="8471606" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2023 12:49:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10872"; a="751735780" X-IronPort-AV: E=Sophos;i="6.03,246,1694761200"; d="scan'208";a="751735780" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2023 12:49:40 -0700 Received: from andy by smile.fi.intel.com with local (Exim 4.97-RC2) (envelope-from ) id 1qv0vh-000000081YY-12zx; Mon, 23 Oct 2023 22:49:37 +0300 Date: Mon, 23 Oct 2023 22:49:36 +0300 From: Andy Shevchenko To: Alexander Potapenko Cc: catalin.marinas@arm.com, will@kernel.org, pcc@google.com, andreyknvl@gmail.com, aleksander.lobakin@intel.com, linux@rasmusvillemoes.dk, yury.norov@gmail.com, alexandru.elisei@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, eugenis@google.com, syednwaris@gmail.com, william.gray@linaro.org Subject: Re: [PATCH v8 2/2] lib/test_bitmap: add tests for bitmap_{read,write}() Message-ID: References: <20231023102327.3074212-1-glider@google.com> <20231023102327.3074212-2-glider@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 23 Oct 2023 12:50:03 -0700 (PDT) On Mon, Oct 23, 2023 at 03:50:42PM +0200, Alexander Potapenko wrote: > On Mon, Oct 23, 2023 at 1:32 PM Andy Shevchenko > wrote: > > On Mon, Oct 23, 2023 at 12:23:27PM +0200, Alexander Potapenko wrote: ... > > > + val = bitmap_read(bitmap, i, nbits); > > > + (void)val; > > > > Is it marked with __must_check? Otherwise why do we need this? > > That was a weak attempt to prevent the compiler from completely > optimizing away the bitmap_read() calls, but I haven't really looked > at the result. > The reality is that even with this check the calls are deleted, and > the size of the function is only 68 bytes. > Replacing the val assignment with a WRITE_ONCE() actually ensures the > bitmap_read() calls are not deleted: > > diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c > index ba567f53feff1..ae57ae48ef3ad 100644 > --- a/lib/test_bitmap.c > +++ b/lib/test_bitmap.c > @@ -1360,8 +1360,7 @@ static void __init test_bitmap_read_perf(void) > for (i = 0; i < TEST_BIT_LEN; i++) { > if (i + nbits > TEST_BIT_LEN) > break; > - val = bitmap_read(bitmap, i, nbits); > - (void)val; > + WRITE_ONCE(val, bitmap_read(bitmap, i, nbits)); > } > } > } Okay, whatever you choose, please add a comment explaining this. -- With Best Regards, Andy Shevchenko