From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta36.uswest2.a.cloudfilter.net (omta36.uswest2.a.cloudfilter.net [35.89.44.35]) by sourceware.org (Postfix) with ESMTPS id 2E9D4385828D for ; Sun, 29 Oct 2023 17:38:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2E9D4385828D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2E9D4385828D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=35.89.44.35 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698601110; cv=none; b=qtuwLBToTsJkc+4Kh3wLL/HqEg2E+hA54HO9mWsRyNfR0IdDtE3eNhCNVKJRYFAJUCS+Bym0gZF0sBEBmxusQK281ZcXTyYrTFOTjdG9UU02V4WV0+scD9YibBxIuelq9/4FJjFlHi00GVCnFpp0zUgfiuKcT4LxWS2KddPDil8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698601110; c=relaxed/simple; bh=SDP5dORowBHbEv1Nwj0OVs7sklr26vXjeOqvwAYXAGw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Dmd0ul9qNUHlt6CymCPmHjti9C/FMD03SnErOOUjt9YZhFKPbpnx825Mne9bDd8D55D+GTBTUqCfyz3J+u8U06fZSr2ot5dxjjAk/+jW5SKHcUqwch14jJC9jHZVycOwUHjbPjoN2M/w40U0wUnJLSBdY98jeH1d63Oggg2k7tQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from eig-obgw-5003a.ext.cloudfilter.net ([10.0.29.159]) by cmsmtp with ESMTPS id x0iKq0KwyhqFdx9k1qYvAr; Sun, 29 Oct 2023 17:38:25 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id x9k0qJ5xOZs8Wx9k0qLmPK; Sun, 29 Oct 2023 17:38:24 +0000 X-Authority-Analysis: v=2.4 cv=YKGMdDKx c=1 sm=1 tr=0 ts=653e9890 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=bhdUkHdE2iEA:10 a=Qbun_eYptAEA:10 a=AO3xPBbeSBk591nmhtwA:9 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject: To:From:Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=1VYg5kruosmaYqxybWfum3b2j7jrVqEzMblhgWeClnA=; b=n+uLv2KvTGaXOpfeosJ7iawN2i OHNfqB+01SojObN7lzqF8u4qEDRy4grgkhhcrn615P3IMQ1Dbprtv+QCA94/AzCnta6a416NPYsuj J4GqWOujxMvY6peaLfEws4L5g; Received: from 97-122-77-73.hlrn.qwest.net ([97.122.77.73]:47464 helo=localhost.localdomain) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1qx9k0-000nk4-0E for gdb-patches@sourceware.org; Sun, 29 Oct 2023 11:38:24 -0600 From: Tom Tromey To: gdb-patches@sourceware.org Subject: [PATCH 00/15] Index DWARF in the background Date: Sun, 29 Oct 2023 11:35:19 -0600 Message-ID: <20231029173839.471514-1-tom@tromey.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.77.73 X-Source-L: No X-Exim-ID: 1qx9k0-000nk4-0E X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-77-73.hlrn.qwest.net (localhost.localdomain) [97.122.77.73]:47464 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfF43dUdR7zk6ORnjdUj2GkktaLxCiC7ckGSua+pvE1C5pLi7vX7JZPN3FG9C/VwlMoNrHr/lqlXNqoeSJ0HovDA/uN3yMySA/Dc9NCXoA1Hxvp7hXJzf hh6VOpXE7205GOVRmVT27g0wJF6+dCgxOCyOtkpAQMv7NVh7hC9i2c+gE3rmkKr0Nf+rccGmjy8zUs8XhzX3Bg61BcRB08VQImY= X-Spam-Status: No, score=-3018.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,JMQ_SPF_NEUTRAL,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This series changes gdb to do its initial DWARF indexing in the background. This process is mostly asynchronous with respect to the rest of gdb. That is, rather than pre-emptively waiting for scanning to complete, now gdb's main thread will only wait when some result of the scan is required. This drastically improves gdb's apparent startup time in the "normal" case where a user does "gdb some-executable" -- e.g., for starting gdb on itself, the time until the prompt returns goes from ~1.2 seconds to ~0.06 seconds on my machine. This approach works by hiding most of the work from the user. Waiting can still be needed; for example if one starts gdb and immediately sets a breakpoint -- however, because the indexer is reasonably fast, and human reaction times are slow, this series still manages to be fairly successful. My current belief is that doing any better than this will probably require a new debug format that isn't quite so cursed to read. This series requires the BFD threading series I posted to the binutils list, and the DWZ refactoring patch I sent recently. I regression tested this on x86-64 Fedora 38. I've also built it with TSAN and tested that, though TSAN seems to introduce random timeouts into the testsuite when I use "make -j8 check". Tom