From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.0 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 003AE1F463 for ; Tue, 26 Nov 2019 08:19:37 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:reply-to:subject:to:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=hDToZnzE7UQ2gwKt aaS/4yFPMGm9SZUWaFAsPOuZj8dk5EQuebRj2AIxELqnIdN506eR4zvLOdRuBFya KaoD7FgFP24GR0pB/MqITQJNEXDTU0mYEtRsgLXcp6omJNS5ZAQRFrFJMoATt+nM 5gPTMyXjPEDQq9BMABGa8NN3zFw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:reply-to:subject:to:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=L9KXFPnchb4T3coRUtdxhq zo4Uw=; b=YNj1nKNTF0AoZzeoZLqoVzlDbILTetjY9k+Pmr5m1c/Emh5jpZgi+u UdP3vxYu9CMRhxT9yJCCK3hVvFfjL4SN5YxjedKhaBsNzLOYU8ugLYMg2Fd7+i6E /ViLtt843yirjBGRaHdqXKsKehb23/nD2s9/bfNIBam0TVXO+upJo= Received: (qmail 45207 invoked by alias); 26 Nov 2019 08:19:35 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 45198 invoked by uid 89); 26 Nov 2019 08:19:35 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: esa2.mentor.iphmx.com IronPort-SDR: TSM5LoZVFmiy1JSfcdoAK6hCL+f9+4+a4nDOClncMBhAtzo8PoCPMV6KWhaQyUsI/MbF0QG7cZ hnOLiLQNEea0ih+eStqzgrwKSYe9bqUkv7RWAy+ciicCTHAGg1B69GjMkVwWRNIo8rCLmB4z1t p3myeLlfnx/CUzooa4GmiopQq/Q10TYi7uOsgB/30w44pzeytpN0gYYhUiaq5HgmvYN6XcHe2z /JTyxhzCZQ4Lu4sr/3zcidd9fzo6jQ2VarsoHwTb6tOgy9doG/8hZLb6UiGYRtyJ3QgHhFzzyq Xzs= IronPort-SDR: pcjA+5enDjxpxLqB2D3sbmdljZZn0nMZSvZgbYE/X7IpxYHCD/o9r2RgTFyQHVCg3ouRhP2cj8 +oMolh5XkI2Mgwr0iiLGoAfjFRiJnsarBUER2+uxgy060gZwEJO+rzDYxSy9DeqHYcH13r5ieK mZB8SZMj6LwG6VfrisvxwI8QDolCfCf1C57OdRtfsUT0BGsnjSykSLxf5Aoj2OFHidW8iQecGM 8a0OVJpp3mIHSInf5FtN7d4xa2+NiHQyyq6lIYVhXvM8J/MS+Or03hzINpN4lJtC9cEIVOH8IO V3g= Reply-To: Subject: Re: Ping x2 Re: [PATCH 1/2][RFC] #17645, fix slow DSO sorting behavior in dynamic loader To: Carlos O'Donell , , GNU C Library References: <2dea2558-c711-eab5-3728-be4986b7aad5@mentor.com> <8588322f-6391-7d6a-6b2e-f2cc05419622@mentor.com> <55008c83-b935-c1b0-1166-2df97d1715b6@redhat.com> <65a2cd71-8ad5-9122-a8cc-a54e8fbe89b5@mentor.com> <1d9f8b04-3133-0e4f-c8a8-ff202db1339c@mentor.com> From: Chung-Lin Tang Message-ID: <8289c6ba-5877-a43d-e989-1610f586aa84@mentor.com> Date: Tue, 26 Nov 2019 16:19:25 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit On 2019/11/26 3:08 AM, Carlos O'Donell wrote: > On 11/25/19 4:19 AM, Chung-Lin Tang wrote: >> Ping? > > Thanks. This is stuck behind one more patch I'm reviewing > for the higher priority (to me) NODELETE rollback fixes. No problem, thanks for giving the time. Chung-Lin >> On 2019/11/14 5:58 PM, Chung-Lin Tang wrote: >>> On 2019/10/31 9:13 PM, Carlos O'Donell wrote: >>>> On 10/8/19 2:22 AM, Chung-Lin Tang wrote: >>>>> Ping again. >>>> >>>> I have these applied and I'm putting this through testing. >>> >>> Hi Carlos, >>> Thanks for the testing, wonder how it went? >>> >>> Thanks, >>> Chung-Lin >>> >>>>> On 2019/9/17 5:55 PM, Chung-Lin Tang wrote: >>>>>> Ping? >>>>>> >>>>>> On 2019/7/21 1:50 AM, Chung-Lin Tang wrote: >>>>>>> Hi, this patch is our attempt at resolving the slow shared object sorting >>>>>>> situation in #17645, #15310, and some effort at #15311.  I realize this is >>>>>>> pretty unsuitable timing to be submitting a patch of such nature now (probably >>>>>>> way too late to be included into 2.30), but still sending now anyways as this >>>>>>> will probably need quite some discussion before being approved. >>>>>>> >>>>>>> Prior attempts at solving this slow sorting behavior appeared to have failed >>>>>>> due to inadequate proposed testing, therefore cannot convince reviewers to >>>>>>> touch what seems to be perceived as a sensitive and easy to break part of ld.so. >>>>>>> >>>>>>> Therefore the first part of this patch is not a change to the dynamic loader >>>>>>> code proper, but a testing framework for constructing DSO sorting tests. >>>>>>> It consists of a new Python script 'dso-ordering-test.py' that serves to >>>>>>> generate both testcase source files and the needed Makefile fragments from >>>>>>> a short description string, for example: >>>>>>> >>>>>>>       a->b->c->d          // four objects linked one after another >>>>>>> >>>>>>>       a->[bc]->d;b->c     // a depends on b and c, which both depend on d, >>>>>>>                           // b depends on c (b,c linked to object a in fixed order) >>>>>>> >>>>>>>       a->b->c;{+a;%a;-a}  // a, b, c serially dependent, main program uses >>>>>>>                           // dlopen/dlsym/dlclose on object a >>>>>>> >>>>>>>       a->b->c;{}!->[abc]  // a, b, c serially dependent; multiple tests generated >>>>>>>                           // to test all permutations of a, b, c ordering linked >>>>>>>                           // to main program >>>>>>> >>>>>>>      (Above is just a short description of what the script can do, more >>>>>>>       documentation is in the script comments.) >>>>>>> >>>>>>> and, a patch to glibc/elf/Makefile which uses this script to add a few >>>>>>> DSO sorting testcases.  The description string notation and output form of the >>>>>>> generated testcases is short enough that both the test descriptions >>>>>>> and expected outcomes can all directly be specified in the Makefile. >>>>>>> >>>>>>> In terms of the tests I added using this script, I am not completely sure they are >>>>>>> (together with existing tests) adequate to prove algorithmic integrity in face >>>>>>> of any ld.so code changes, but the script should provide a solid tool to further >>>>>>> improve on coverage.  Also welcome suggestions if the current features are still >>>>>>> lacking in expressing some case of shared object relations, or if the documentation >>>>>>> still feels unclear. >>>>>>> >>>>>>> Thanks, >>>>>>> Chung-Lin >>>>>>> >>>>>>> 2019-07-20  Chung-Lin Tang  >>>>>>> >>>>>>>           [BZ #17645] >>>>>>>           [BZ #15311] >>>>>>>           [BZ #15310] >>>>>>>           * elf/Makefile (test_dso_ordering): New make function. >>>>>>>           (tst-dso-ordering[123456789]): Define new DSO sorting tests. >>>>>>>           (tst-bz15311): Testcase from #15311. >>>>>>>           * scripts/dso-ordering-test.py: New script. >>>> >>>> >> > >