Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7419322rwb; Wed, 23 Nov 2022 06:21:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf49cWyghthgpsbALwz4gi+LZUMdH3pNCH0tnAQWZkNUrXlynatAKRvx/u92ViSAMgaBcrGh X-Received: by 2002:a17:90b:35c8:b0:20a:78b7:9210 with SMTP id nb8-20020a17090b35c800b0020a78b79210mr30214100pjb.138.1669213313122; Wed, 23 Nov 2022 06:21:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669213313; cv=none; d=google.com; s=arc-20160816; b=AM7gL7H1q1kJmR01XBMEsSrbW+fQuyRRuXXLOauvJFUs4QEks9o2ZA2fqkR2nPuexd sE2tvLgFks1exvsX8mvtH4H6lcH1uY0imLdnpCMnBrhFF19/5NB+2UBP1a39e4s3Cg5D ZZIZYDmLHnXBY6ydWALds7moMlo2vylnrHsZOgiVrq/cAmRqDF+xMC2ZTp2cFcUdH29N eLKBWUCeKpwe27dOIo9Z/NYUYe2MAfnKwQaq3LMg6aM+15l3axh6CNN98ddsYg7+CkN/ 3K3ir3rUIHguA/MNBXspC5c6cYsE8cWpXYLy6sgxf2F0nLWWQTva7TN+mX/cKY/t1bPv OM8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=ci0lLAt19QQ9/IvH3FElWS8QiD+aBtXUAVdk/fqWMtQ=; b=v6yWNmkXMR4XCQCYmPOjKYf+cftCDjwvShhiDN4p08q0gjD3proDf9Xv0lE1rWACBu aPyucWTK1ywDFX/VRf+DxW5Yba4rUteKTOYqSsjTh1hV7XecWMdQWRgn2j9hAPxLw26p uT2faLGqJf2Vu4YiJt5QM7XCLlM0fHvKCRnQkhJmPdro0KN/ZWMI96kGTyO9Y8v/ARQb bFiHp5EbQVb9y4DGfDGDT9HXfTDGDUYXW9Ccb1YROev5tRh3LxIfIfK7gfr1LWLc9bO1 HToQViaTB/v6XMSOT/gKcCLo7Sy70X89zsztlz0Q/y8QeskQ4EuLOV8beI02PLioly27 myGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=vP+94Ag7; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hk6-20020a17090b224600b0020169c73d8bsi2273926pjb.2.2022.11.23.06.21.41; Wed, 23 Nov 2022 06:21:53 -0800 (PST) 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=@suse.com header.s=susede1 header.b=vP+94Ag7; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237944AbiKWOC1 (ORCPT + 89 others); Wed, 23 Nov 2022 09:02:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49294 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238486AbiKWOCB (ORCPT ); Wed, 23 Nov 2022 09:02:01 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84F5E6468; Wed, 23 Nov 2022 05:57:05 -0800 (PST) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id 2E20A1F890; Wed, 23 Nov 2022 13:57:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1669211824; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ci0lLAt19QQ9/IvH3FElWS8QiD+aBtXUAVdk/fqWMtQ=; b=vP+94Ag7iWseF4nz/8WIC+3KKpApjKybgJI3HOsGSdAt50lLyqjVj4zcU1nEKw/RzioZyk v/Qx0LrmSWf+JNZ+8W1ioOugHoj3FgyxuQ33e7oWn3KwV8XaN5IierCe2p7NSwpgnkPx7T RIhz1YwwYOi4AxdS7CGpH6dukxMvK+8= Received: from suse.cz (unknown [10.100.201.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id D14EA2C141; Wed, 23 Nov 2022 13:57:03 +0000 (UTC) Date: Wed, 23 Nov 2022 14:57:00 +0100 From: Petr Mladek To: Zhen Lei Cc: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Joe Lawrence , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org, Masahiro Yamada , Alexei Starovoitov , Jiri Olsa , Kees Cook , Andrew Morton , Luis Chamberlain , linux-modules@vger.kernel.org, Steven Rostedt , Ingo Molnar , David Laight Subject: Re: [PATCH v8 7/9] livepatch: Improve the search performance of module_kallsyms_on_each_symbol() Message-ID: References: <20221102084921.1615-1-thunder.leizhen@huawei.com> <20221102084921.1615-8-thunder.leizhen@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221102084921.1615-8-thunder.leizhen@huawei.com> X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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 On Wed 2022-11-02 16:49:19, Zhen Lei wrote: > Currently we traverse all symbols of all modules to find the specified > function for the specified module. But in reality, we just need to find > the given module and then traverse all the symbols in it. > > Let's add a new parameter 'const char *modname' to function > module_kallsyms_on_each_symbol(), then we can compare the module names > directly in this function and call hook 'fn' after matching. And the > parameter 'struct module *' in the hook 'fn' can also be deleted. > > Phase1: mod1-->mod2..(subsequent modules do not need to be compared) > | > Phase2: -->f1-->f2-->f3 Just for record. The patch looks good from the livepatching code POV. But I guess that it will need to get updated to support the new callers in the ftrace and bpf code. Best Regards, Petr