Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp1705756rdh; Tue, 26 Sep 2023 00:28:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFqrQ9RTsrBCr2GjbHrfbPhE3HP9eJX2bAu30SC2rtVk398AmRfKb5JO1VKjceD+8HK+IHv X-Received: by 2002:a17:90a:7e02:b0:268:dad:2fdc with SMTP id i2-20020a17090a7e0200b002680dad2fdcmr8472968pjl.21.1695713292756; Tue, 26 Sep 2023 00:28:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695713292; cv=none; d=google.com; s=arc-20160816; b=ycAjeBbtihA4LCeaWDMbJNyWsTcFaQ+keSOOoXNiY3Hg7vQTIhf+iAdEcoj0Xo0I+X wMeBVMBGu49n+NKu1MyR59W/H/QzOhzzqHAdAHVs24043bt4BQUhur8bggMHJcE3wBrK b+/pausrlU2aHrftYQKWjsewp4FMQgfXnbhTgVosCSUwFvewX5dr07fqAoLcjfao+nqF RDcIVHwrAmfubUmIb1d2silAVRI7zZfNzh+tlqPYkUbsLLRJ0r5sf9GV4NWZ4/9A6Ugl QcHsDLsjGFFzglZO2Eq8h1fB1tio7NYWXEXTLhRn6jQ1poNJd0TcMU0XsZQCqHfssEJL HCwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id; bh=7Z8JPu5YcICN1KdzTuFRMjfhTURD62bTXgCpIkA6Xfo=; fh=GuvWwxc0KDW3hoe0M+1vp6ALoh3GjN9j1dHNhIUyptw=; b=XJigY8ps5K6zU+9hTRl11HuyvU4TxbqPqq3E85/Aaf2MBeNgO359Ah7tO6aGX9dz3H mrR0VJMuz3MoiYGIch27OUxp/mrMAOBuuDvtZJXWLIp/2guMJNZq5M3bKf6JrW8jXN2u 9FUu0EbPzsl3UBv96nzuHuz/nN63MNPsIVgM7KLxqw0NdHZ3SlcAx5M/pEQEYPiSTqSM XLp/P1mDszOZUHU14letTCPJwwj6zNEGgq+e2aOgkwJEIqoCzZ8dCK4DyJZrr2ZVEhZr cSp67ZR3H6U0pzTHXcf/gVDAbXUXkS3lLEkMR/1mfNeJXE2E7FSqqfkDxR3+XVAAE8Z5 7WsA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id n64-20020a17090a2cc600b00274cd892b39si7443394pjd.132.2023.09.26.00.28.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 00:28:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id C48D48313018; Tue, 26 Sep 2023 00:24:07 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229685AbjIZHYL convert rfc822-to-8bit (ORCPT + 99 others); Tue, 26 Sep 2023 03:24:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229585AbjIZHYK (ORCPT ); Tue, 26 Sep 2023 03:24:10 -0400 Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C4427DE for ; Tue, 26 Sep 2023 00:24:03 -0700 (PDT) Received: from omf11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CA9F0140761; Tue, 26 Sep 2023 07:24:01 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: joe@perches.com) by omf11.hostedemail.com (Postfix) with ESMTPA id CB4CA2002C; Tue, 26 Sep 2023 07:23:58 +0000 (UTC) Message-ID: Subject: Re: [PATCH] modpost: Optimize symbol search from linear to binary search From: Joe Perches To: Masahiro Yamada , Jack Brennen Cc: Nathan Chancellor , Nick Desaulniers , Nicolas Schier , Tom Rix , linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, llvm@lists.linux.dev, maskray@google.com, cleger@rivosinc.com, kernel-team@android.com Date: Tue, 26 Sep 2023 00:23:57 -0700 In-Reply-To: References: <20230918210631.3882376-1-jbrennen@google.com> <20230925205933.2869049-1-jbrennen@google.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-Rspamd-Server: rspamout03 X-Rspamd-Queue-Id: CB4CA2002C X-Stat-Signature: y9s3jquo39tzmxs37yi73zyeiazbpeb4 X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_NONE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Session-ID: U2FsdGVkX1+khqWz5TU1xoTnJNYXZ46+Dt8aB1w98N0= X-HE-Tag: 1695713038-119367 X-HE-Meta: U2FsdGVkX18QhCLbRGcDW559Kb8YTNrEohGutUbc4O+Pvg+b4aqU91yYlhADoZCgd9f/jp28+UHLUpE4ffKbbEmduuSR+WqZN+KdDlN2LwZbUKM8HG66edbia7pEkhExngeVwVl9dbASKITDgflHX2EMdjkgv/VJklMzWrUldVIl2x4c4iII9r9uunhdyqJQJ6yEBzPrguKiVLf9Tjuy/cChnp1fqpcSaIIoDKBnPTtgUQNUj9xtosuHHcvhSB9ntT5Ls1dFXK4YT4xEy+qNzt7a03laYkj3k0c0YUNXOXPKQ3CmR/tSS1tKYwzF9V9epRqeYFdSMEYKHDnk0j5yJWNMyrWc++SZsezDyAr+vtvYIkeTJEQ5bC97lyBnCr+uFfUi7KWT310= 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 26 Sep 2023 00:24:08 -0700 (PDT) On Tue, 2023-09-26 at 15:46 +0900, Masahiro Yamada wrote: > On Tue, Sep 26, 2023 at 5:59 AM Jack Brennen wrote: > > > +Elf_Sym *symsearch_find_nearest(struct elf_info *elf, Elf_Addr addr, > > + unsigned int secndx, bool allow_negative, > > + Elf_Addr min_distance) > > +{ > > + size_t hi = elf->symsearch->table_size; > > + size_t lo = 0; > > + struct syminfo *table = elf->symsearch->table; > > + struct syminfo target; > > + > > + target.addr = addr; > > + target.section_index = secndx; > > + target.symbol_index = ~0; /* compares greater than any actual index */ > > + while (hi > lo) { > > + size_t mid = lo + (hi-lo)/2; /* Avoids potential overflow */ > > + > > + if (syminfo_compare(&table[mid], &target) > 0) > > + hi = mid; > > + else > > + lo = mid+1; > > My preference is "low = mid + 1" over "low = mid+1" > > Documentation/process/coding-style.rst suggests spaces > around binary operators. > > " > Use one space around (on each side of) most binary and ternary operators, > such as any of these:: > > = + - < > * / % | & ^ <= >= == != ? : > " > > I can see the corresponding line in the checkpatch tool: > > https://github.com/torvalds/linux/blob/v6.5/scripts/checkpatch.pl#L5330 > > > I wonder why the checkpatch did not detect it. > > Maybe, Joe Perches may know the reason. checkpatch requires --strict to emit that message.