From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23166 invoked by alias); 22 Jul 2009 17:16:21 -0000 Received: (qmail 23153 invoked by uid 22791); 22 Jul 2009 17:16:20 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 22 Jul 2009 17:16:12 +0000 Received: from spaceape8.eur.corp.google.com (spaceape8.eur.corp.google.com [172.28.16.142]) by smtp-out.google.com with ESMTP id n6MHG9hq026163 for ; Wed, 22 Jul 2009 10:16:10 -0700 Received: from qyk40 (qyk40.prod.google.com [10.241.83.168]) by spaceape8.eur.corp.google.com with ESMTP id n6MHE36G024716 for ; Wed, 22 Jul 2009 10:16:07 -0700 Received: by qyk40 with SMTP id 40so373764qyk.32 for ; Wed, 22 Jul 2009 10:16:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.70.138 with SMTP id d10mr241315qcj.22.1248282966649; Wed, 22 Jul 2009 10:16:06 -0700 (PDT) In-Reply-To: <200907221732.46472.pedro@codesourcery.com> References: <8ac60eac0907161724v40e5bd8bg7877d8901b8d7b6e@mail.gmail.com> <8ac60eac0907220849w3add6806h96e3df1d3257ac54@mail.gmail.com> <200907221732.46472.pedro@codesourcery.com> Date: Wed, 22 Jul 2009 17:16:00 -0000 Message-ID: <8ac60eac0907221016j410f890ald54ac66c7c3291f9@mail.gmail.com> Subject: Re: [patch] Speed up find_pc_section From: Paul Pluzhnikov To: Pedro Alves Cc: tromey@redhat.com, gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=0016360e3d18ce76ca046f4e86ad X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-07/txt/msg00547.txt.bz2 --0016360e3d18ce76ca046f4e86ad Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 1278 On Wed, Jul 22, 2009 at 9:32 AM, Pedro Alves wrote: > In the OBJF_USERLOADED case, you rebuild the map when you don't > really need to. I think it's pretty clear that what I really need is a new 'remove_objfile' kind of observer. > You're also likely breaking xcoffsolib.c and the vmap code in exec.c, as > it calls free_objfile without going through observers. This would be handled by the 'remove_objfile' observer, I think. > Given the new_objfile observer, do we still need the exec_changed and > solib observers? No, I've removed that (new patch attached). > Please look around and check that objfile->section_offsets or > obj_section_offset isn't being used as an lvalue somewhere where > the map cache isn't being flushed. I think new_objfile/remove_objfile will take care of any of these. Should I revert the find_pc_section patch, work up remove_objfile observer patch, then re-apply find_pc_section patch once it's in better shape? Thanks, -- Paul Pluzhnikov 2009-07-22 Paul Pluzhnikov * objfiles.c (objfile_relocate): Must rebuild section map. (set_objfiles_updated_on_exe_change): Remove. (set_objfiles_updated_on_new_objfile): New observer. (_initialize_objfiles): Adjust. --0016360e3d18ce76ca046f4e86ad Content-Type: text/plain; charset=US-ASCII; name="gdb-find_pc_section-20090722-2.txt" Content-Disposition: attachment; filename="gdb-find_pc_section-20090722-2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fxgbcg9v0 Content-length: 2522 SW5kZXg6IG9iamZpbGVzLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9vYmpmaWxlcy5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjg2CmRpZmYgLXUgLXAgLXUgLXIxLjg2IG9iamZpbGVz LmMKLS0tIG9iamZpbGVzLmMJMjEgSnVsIDIwMDkgMjA6NTQ6MzAgLTAwMDAJ MS44NgorKysgb2JqZmlsZXMuYwkyMiBKdWwgMjAwOSAxNzoxMjo1MiAtMDAw MApAQCAtNjgyLDYgKzY4Miw3IEBAIG9iamZpbGVfcmVsb2NhdGUgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWwKIAogICAvKiBSZWxvY2F0ZSBicmVha3BvaW50 cyBhcyBuZWNlc3NhcnksIGFmdGVyIHRoaW5ncyBhcmUgcmVsb2NhdGVkLiAq LwogICBicmVha3BvaW50X3JlX3NldCAoKTsKKyAgb2JqZmlsZXNfdXBkYXRl ZF9wID0gMTsgIC8qIFJlYnVpbGQgc2VjdGlvbiBtYXAgbmV4dCB0aW1lIHdl IG5lZWQgaXQuICAqLwogfQogDAogLyogTWFueSBwbGFjZXMgaW4gZ2RiIHdh bnQgdG8gdGVzdCBqdXN0IHRvIHNlZSBpZiB3ZSBoYXZlIGFueSBwYXJ0aWFs CkBAIC05OTAsMTkgKzk5MSwxOSBAQCBvYmpmaWxlX2RhdGEgKHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLCBjCiB9CiAKIC8qIFNldCBvYmpmaWxlc191cGRh dGVkX3Agc28gc2VjdGlvbiBtYXAgd2lsbCBiZSByZWJ1aWx0IG5leHQgdGlt ZSBpdAotICAgaXMgdXNlZC4gIENhbGxlZCBieSBleGVjdXRhYmxlX2NoYW5n ZWQgb2JzZXJ2ZXIuICAqLworICAgaXMgdXNlZC4gIENhbGxlZCBieSBzb2xp Yl9sb2FkZWQvdW5sb2FkZWQgb2JzZXJ2ZXIuICAqLwogCiBzdGF0aWMgdm9p ZAotc2V0X29iamZpbGVzX3VwZGF0ZWRfb25fZXhlX2NoYW5nZSAodm9pZCkK K3NldF9vYmpmaWxlc191cGRhdGVkX29uX3NvbGliX2FjdGl2aXR5IChzdHJ1 Y3Qgc29fbGlzdCAqc29fbGlzdCkKIHsKICAgb2JqZmlsZXNfdXBkYXRlZF9w ID0gMTsgIC8qIFJlYnVpbGQgc2VjdGlvbiBtYXAgbmV4dCB0aW1lIHdlIG5l ZWQgaXQuICAqLwogfQogCiAvKiBTZXQgb2JqZmlsZXNfdXBkYXRlZF9wIHNv IHNlY3Rpb24gbWFwIHdpbGwgYmUgcmVidWlsdCBuZXh0IHRpbWUgaXQKLSAg IGlzIHVzZWQuICBDYWxsZWQgYnkgc29saWJfbG9hZGVkL3VubG9hZGVkIG9i c2VydmVyLiAgKi8KKyAgIGlzIHVzZWQuICBDYWxsZWQgYnkgbmV3X29iamZp bGUgb2JzZXJ2ZXIuICAqLwogCiBzdGF0aWMgdm9pZAotc2V0X29iamZpbGVz X3VwZGF0ZWRfb25fc29saWJfYWN0aXZpdHkgKHN0cnVjdCBzb19saXN0ICpz b19saXN0KQorc2V0X29iamZpbGVzX3VwZGF0ZWRfb25fbmV3X29iamZpbGUg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogewogICBvYmpmaWxlc191cGRh dGVkX3AgPSAxOyAgLyogUmVidWlsZCBzZWN0aW9uIG1hcCBuZXh0IHRpbWUg d2UgbmVlZCBpdC4gICovCiB9CkBAIC0xMDEwLDcgKzEwMTEsNyBAQCBzZXRf b2JqZmlsZXNfdXBkYXRlZF9vbl9zb2xpYl9hY3Rpdml0eSAoCiB2b2lkCiBf aW5pdGlhbGl6ZV9vYmpmaWxlcyAodm9pZCkKIHsKLSAgb2JzZXJ2ZXJfYXR0 YWNoX2V4ZWN1dGFibGVfY2hhbmdlZCAoc2V0X29iamZpbGVzX3VwZGF0ZWRf b25fZXhlX2NoYW5nZSk7CisgIG9ic2VydmVyX2F0dGFjaF9uZXdfb2JqZmls ZSAoc2V0X29iamZpbGVzX3VwZGF0ZWRfb25fbmV3X29iamZpbGUpOwogICBv YnNlcnZlcl9hdHRhY2hfc29saWJfbG9hZGVkIChzZXRfb2JqZmlsZXNfdXBk YXRlZF9vbl9zb2xpYl9hY3Rpdml0eSk7CiAgIG9ic2VydmVyX2F0dGFjaF9z b2xpYl91bmxvYWRlZCAoc2V0X29iamZpbGVzX3VwZGF0ZWRfb25fc29saWJf YWN0aXZpdHkpOwogfQo= --0016360e3d18ce76ca046f4e86ad--