From patchwork Thu Mar 2 19:04:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 65925 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 691CB3858C5E for ; Thu, 2 Mar 2023 19:04:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 691CB3858C5E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677783881; bh=TuIvaf6j9HFLnxqdAIi3M96KKJITT1OaR+hAsF0gNuY=; h=To:Cc:Subject:References:Date:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Help:List-Subscribe:From: Reply-To:From; b=A/iLdSFz9EIG/1CNvfEingLhwfWnRZZQg1/gV7eSClUEiDQKU+qINnSpU4nvm7YLi 5XurMLE0qno5VvzKufIqeOdRojxz5X09TjsGtRmqf87PBLhqflq84Ac5wRt0G29QwS 35XJLb57VFXpbJU1LYC9WOhiVspSdh50AA+9QKPE= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 76C483858D33 for ; Thu, 2 Mar 2023 19:04:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 76C483858D33 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-515-HCmRBHpfNVO2BJXD1_cgdQ-1; Thu, 02 Mar 2023 14:04:33 -0500 X-MC-Unique: HCmRBHpfNVO2BJXD1_cgdQ-1 Received: by mail-qv1-f70.google.com with SMTP id y6-20020ad457c6000000b00535261af1b1so131208qvx.13 for ; Thu, 02 Mar 2023 11:04:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677783873; h=mime-version:user-agent:message-id:in-reply-to:date:references :organization:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TuIvaf6j9HFLnxqdAIi3M96KKJITT1OaR+hAsF0gNuY=; b=bjW0B8kdHn5eIf/TjYdgrfDh6wnY1DoueLHyGwpqdX085Wn6A2HNm9hEflSE1PpTl9 08xODikVlU76liDgDTD1HrlOnEAty7wCLmWutWKi683GSUxJRWw3uS8Fkrp9+80EyFk/ gc/H9PMF0MsO/UyCaBBGVI0S4odPUeBRXHDipA10RE5CIUYLMjl7SddEnIL2MO8gZM8g lCgu6rEeekRfIS/TWYyYcDRvqKTFb3OCRfxFVlBUYqRpCR0qsEY+BLVbgrgdLSWgMhHr FAEdUKu+ZUOdQ8FNQPIUyBqT9j12SJksy8BoDLQs54iMAzqok99plkRBQl6lqntQvjxr Ra5g== X-Gm-Message-State: AO0yUKWw87DR6cBuqWywTuRTBxT+glOij+nZNHA1IMlydWMKv/a6rGd9 Lj6xgdh1PYUP2zFy/ykasqS3ZmcZeDHWf49ex8LxJVPn6qiLo6Sbs9GT2rTY64Uxq5tcdCbmQh1 eTWGboUO3e96wHopiGrP1 X-Received: by 2002:a05:622a:1a10:b0:3b8:683c:40f with SMTP id f16-20020a05622a1a1000b003b8683c040fmr19119265qtb.30.1677783873275; Thu, 02 Mar 2023 11:04:33 -0800 (PST) X-Google-Smtp-Source: AK7set+sue4LXRqoO7756q/pVRPXQYfXmRD1NxC+zjB5hM+aheRzoowkT7f3OC1Wdj06GlFtbv839Q== X-Received: by 2002:a05:622a:1a10:b0:3b8:683c:40f with SMTP id f16-20020a05622a1a1000b003b8683c040fmr19119188qtb.30.1677783872465; Thu, 02 Mar 2023 11:04:32 -0800 (PST) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id g66-20020a37b645000000b00743049c2b15sm194741qkf.66.2023.03.02.11.04.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 11:04:31 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id 8BD5A581C79; Thu, 2 Mar 2023 20:04:30 +0100 (CET) To: Dodji Seketeli Cc: libabigail@sourceware.org, ckalina@redhat.com Subject: [PATCH 12/13] comparison: When marking leaf nodes don't do unnecessary impact analysis Organization: Red Hat / France References: <877cvzrnws.fsf@redhat.com> <87356nrnmq.fsf@redhat.com> X-Operating-System: Fedora 38 X-URL: http://www.redhat.com Date: Thu, 02 Mar 2023 20:04:30 +0100 In-Reply-To: <87356nrnmq.fsf@redhat.com> (Dodji Seketeli's message of "Thu, 02 Mar 2023 19:53:17 +0100") Message-ID: <87h6v3otz5.fsf_-_@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, When marking leaf nodes, if interface impact analysis is not required, then avoid visiting the same diff node twice when walking the diff graph. Allowing to visit the same diff node twice would be useful so that the sub-graph of each interface diff node would be walked in full to determine the impact of each leaf diff node on each interface. But if such impact analysis is not required, then we can just visit each diff graph node once and speed up things greatly in leaf node reporting mode. * src/abg-comparison.cc (corpus_diff::mark_leaf_diff_nodes): If impact analysis is not required, visit each node just once. Signed-off-by: Dodji Seketeli --- src/abg-comparison.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc index 886e48fd..1533d9d1 100644 --- a/src/abg-comparison.cc +++ b/src/abg-comparison.cc @@ -11230,7 +11230,8 @@ corpus_diff::mark_leaf_diff_nodes() context()->forget_visited_diffs(); bool s = context()->visiting_a_node_twice_is_forbidden(); context()->forbid_visiting_a_node_twice(true); - context()->forbid_visiting_a_node_twice_per_interface(true); + if (context()->show_impacted_interfaces()) + context()->forbid_visiting_a_node_twice_per_interface(true); traverse(v); context()->forbid_visiting_a_node_twice(s); context()->forbid_visiting_a_node_twice_per_interface(false);