From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 116711 invoked by alias); 24 Feb 2016 21:28:30 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 116701 invoked by uid 89); 24 Feb 2016 21:28:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=0-9a-f, 09af X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 24 Feb 2016 21:28:29 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 71D95C00B8C0; Wed, 24 Feb 2016 21:28:28 +0000 (UTC) Received: from host1.jankratochvil.net (ovpn-116-55.ams2.redhat.com [10.36.116.55]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1OLSNHn003398 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 24 Feb 2016 16:28:27 -0500 Date: Wed, 24 Feb 2016 21:28:00 -0000 From: Jan Kratochvil To: Simon Marchi Cc: Tom Tromey , Pedro Alves , gdb@sourceware.org Subject: Re: Multi-threaded dwarf parsing Message-ID: <20160224212823.GA18899@host1.jankratochvil.net> References: <2c38d5c574de28faa9fc94fe4ed17d45@simark.ca> <56CD8EC0.3010304@redhat.com> <87lh6a6s8s.fsf@tromey.com> <20160224202519.GA10251@host1.jankratochvil.net> <345f3571aa56d4e9b6f6cbf4fa552f5f@simark.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <345f3571aa56d4e9b6f6cbf4fa552f5f@simark.ca> User-Agent: Mutt/1.5.24 (2015-08-30) X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg00029.txt.bz2 On Wed, 24 Feb 2016 21:37:24 +0100, Simon Marchi wrote: > What can cause CUs to be interlinked with each other? I did not remember, from what I am checking now it is due to dwz: https://sourceware.org/git/?p=dwz.git;a=blob;f=dwz.c That is a DWARF size reduction tool (by DWARF optimization, not by any compression). All the CUs get queued there due to its DW_AT_import: process_imported_unit_die()->maybe_queue_comp_unit() Without dwz I could not reproduce the queueing problem. IIRC there was some but I admit I may not remember it right. BTW expanding one CU is also not cheap, just its .debug_info part can be around 1MB: readelf -wi libwebkitgtk-1.0.so.0.5.2.debug|grep '^ *<0>'|perl -lne 'BEGIN{$l=0;} /^\s*<0><([0-9a-f]+)>/ or die;$x=eval "0x$1";print(($x-$l)." ".$_);$l=$x;'|sort -nr But that is a sub-second delay not much of a real problem. Jan