From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) by sourceware.org (Postfix) with ESMTPS id 5BAC7385840F for ; Tue, 16 Aug 2022 03:07:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5BAC7385840F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=fitzsim.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=fitzsim.org Received: by mail-io1-xd2a.google.com with SMTP id n12so4026680iod.3 for ; Mon, 15 Aug 2022 20:07:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fitzsim-org.20210112.gappssmtp.com; s=20210112; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc; bh=BgVd882V2p7EBkCNFOj9XW83g0PCFccW2G98KzEZZVU=; b=tgY842IvG3dJeX5lcObPclqx+YcT6Og4Dla7vldneoWY8/n+YcYmbpQv1ptqg31sHX 59PE0zJQggUbP3T1IAB2mn1d2+mPLr5/rFGJcZkNjJCbyAdj7xSSyADQJaR56BBvLsWh MPx8w2gc84DOQxpWthmb+ptRyqbpDAF4zYStBqOioQa2wZACYE1L/7gH8mhx4LrnLejX HbFWvwU+PQdtoBfD3sT1AEaPMRskvomPVvUNUmC3jRa4eABmPQ3zgfFo4JjDESB1WxcC V6oC8OjYU9zAqvPsado4WGZiyySfZpAjrmstM0oQHy4qmQuYqBB0r3C67FbPQj2ZkPZv Ow3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc; bh=BgVd882V2p7EBkCNFOj9XW83g0PCFccW2G98KzEZZVU=; b=vf8lQf3g1lemgOnroXLI/df6RBakGnJiXwld5Vk8EkwuWJ+reCIOaOh+wsJGD4Txcv ecb3yj22hUayo1+kzOn27S+bf5BuM1J+XJ9FV3BdxJ1/hfLfxkDEs3wbVYyrEJtKJXi2 uGl34ns8wZFnngGJCdrpvObOjagBUCw7tiKbVVtZ+j8B99lnSMxieNe3LHZlU41HK7kS TffmEhyH1pB98Xif3eHIzE7Sj2GT9jPF2GUPsCaZ3+ZSwckT6TuFrE6MfGKaE3z6JAGq cbCmX7YUzQbabv3g+lL04Oygx/pAf7u4cM5husK7cSrVYkPKYBVSRZBEu7Xc+Q/MFOx4 MIfg== X-Gm-Message-State: ACgBeo0q1J0EF1OOezaBfnNXtgQYcrgn0wlOE+deI5KeHgt9GgvOTWyX O9iUOjYDlWsgpDyMZQvLqOkTEXO+jj5jqw== X-Google-Smtp-Source: AA6agR7oLxn3Ki4GzHDaYrAhXe4V8fGTAyHIw4U9rAYpnDEnF4hi+6tekBpfU+NpN0+u44Tyy+Mdvw== X-Received: by 2002:a05:6638:16cf:b0:346:a287:e5d6 with SMTP id g15-20020a05663816cf00b00346a287e5d6mr1408989jat.188.1660619227297; Mon, 15 Aug 2022 20:07:07 -0700 (PDT) Received: from localhost.localdomain (69-165-165-189.dsl.teksavvy.com. [69.165.165.189]) by smtp.gmail.com with ESMTPSA id x20-20020a0566380cb400b003435319789bsm3955506jad.146.2022.08.15.20.07.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Aug 2022 20:07:05 -0700 (PDT) From: Thomas Fitzsimmons To: Mark Wielaard Cc: Wilco Dijkstra , 'GNU C Library' Subject: Re: [PATCH] Improve performance of IO locks References: Date: Mon, 15 Aug 2022 23:07:03 -0400 In-Reply-To: (Mark Wielaard's message of "Tue, 16 Aug 2022 00:27:37 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Aug 2022 03:07:10 -0000 --=-=-= Content-Type: text/plain Hi Mark, Mark Wielaard writes: > On Mon, Aug 01, 2022 at 11:06:07AM +0000, Wilco Dijkstra via Libc-alpha wrote: >> Improve performance of recursive IO locks by adding a fast path for >> the single-threaded case. To reduce the number of memory accesses for >> locking/unlocking, only increment the recursion counter if the lock >> is already taken. >> >> On Neoverse V1, a microbenchmark with many small freads improved by >> 2.9 times. Multithreaded performance improved by 2%. > > Strangely this seems to have broken the glibc-debian-ppc64 buildbot: > https://builder.sourceware.org/buildbot/#/builders/glibc-debian-ppc64 > > I don't see how this commit can cause a failure just on debian-ppc64 > (all other distro/arches are fine). > > And the corresponding bunsen test results don't really show why. > https://builder.sourceware.org/testrun/498f51f327afdd7030516455b709a31a0038b432 > Most of the .out files are empty, but some indicate an segmentation fault. > > Comparing to the build before only shows test result diffs, no > configuration differences. > https://builder.sourceware.org/testrun-diffs?commitish=498f51f327afdd7030516455b709a31a0038b432&commitish=58fd9d63b078b6bbfdba45135c4021038f33534e > > I don't have access to the buildbot, so cannot easily investigate more. > > Tom, could you have a look and see if you can find out more? Does just > reverting commit c51c483d2b8ae66fe31a12509aedae02a6982ced make things > OK again? Yes reverting that commit, the result is: Summary of test results: 317 PASS 10 UNSUPPORTED 2 XPASS Without the reversion: Summary of test results: 256 FAIL 68 PASS 3 UNSUPPORTED 2 XFAIL I looked at elf/unload as an example; it's segfaulting in _dl_relocate_object, backtrace attached; not sure what else to check. > Or did something else on the buildbot worker change? I didn't change anything. > Note that the buildbot only does a make subdirs=elf check, not a full > make check. Thanks, Thomas --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=glibc-unload-segfault-backtrace-1.txt Content-Transfer-Encoding: quoted-printable buildbot@debian-ppc64-builder:~/workers/wildebeest/glibc-debian-ppc64/build= $ env GCONV_PATH=3D/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/= build/iconvdata LOCPATH=3D/var/lib/buildbot/workers/wildebeest/glibc-debian= -ppc64/build/localedata LC_ALL=3DC gdb --args /var/lib/buildbot/workers/wil= debeest/glibc-debian-ppc64/build/elf/ld64.so.1 --library-path /var/lib/buil= dbot/workers/wildebeest/glibc-debian-ppc64/build:/var/lib/buildbot/workers/= wildebeest/glibc-debian-ppc64/build/math:/var/lib/buildbot/workers/wildebee= st/glibc-debian-ppc64/build/elf:/var/lib/buildbot/workers/wildebeest/glibc-= debian-ppc64/build/dlfcn:/var/lib/buildbot/workers/wildebeest/glibc-debian-= ppc64/build/nss:/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/bui= ld/nis:/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/build/rt:/va= r/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/build/resolv:/var/lib/= buildbot/workers/wildebeest/glibc-debian-ppc64/build/mathvec:/var/lib/build= bot/workers/wildebeest/glibc-debian-ppc64/build/support:/var/lib/buildbot/w= orkers/wildebeest/glibc-debian-ppc64/build/crypt:/var/lib/buildbot/workers/= wildebeest/glibc-debian-ppc64/build/nptl /var/lib/buildbot/workers/wildebee= st/glibc-debian-ppc64/build/elf/unload=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 GNU gdb (Debian 10.1-2+b1) 10.1.90.20210103-git Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "powerpc64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /var/lib/buildbot/workers/wildebeest/glibc-debian-ppc6= 4/build/elf/ld64.so.1... (gdb) r Starting program: /var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/b= uild/elf/ld64.so.1 --library-path /var/lib/buildbot/workers/wildebeest/glib= c-debian-ppc64/build:/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc6= 4/build/math:/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/build/= elf:/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/build/dlfcn:/va= r/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/build/nss:/var/lib/bui= ldbot/workers/wildebeest/glibc-debian-ppc64/build/nis:/var/lib/buildbot/wor= kers/wildebeest/glibc-debian-ppc64/build/rt:/var/lib/buildbot/workers/wilde= beest/glibc-debian-ppc64/build/resolv:/var/lib/buildbot/workers/wildebeest/= glibc-debian-ppc64/build/mathvec:/var/lib/buildbot/workers/wildebeest/glibc= -debian-ppc64/build/support:/var/lib/buildbot/workers/wildebeest/glibc-debi= an-ppc64/build/crypt:/var/lib/buildbot/workers/wildebeest/glibc-debian-ppc6= 4/build/nptl /var/lib/buildbot/workers/wildebeest/glibc-debian-ppc64/build/= elf/unload Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7fabad8 in _dl_relocate_object (l=3D0x7ffff7ff2eb0, scope=3D0x7f= fff7ff3250, reloc_mode=3D, consider_profiling=3D) at dl-reloc.c:301 301 ELF_DYNAMIC_RELOCATE (l, scope, lazy, consider_profiling, skip_= ifunc); (gdb) bt #0 0x00007ffff7fabad8 in _dl_relocate_object (l=3D0x7ffff7ff2eb0, scope=3D= 0x7ffff7ff3250, reloc_mode=3D, consider_profiling=3D) at dl-reloc.c:301 #1 0x00007ffff7fc3c1c in dl_main (phdr=3D, phnum=3D, user_entry=3D, auxv=3D) at rtld.c:23= 14 #2 0x00007ffff7fbef40 in _dl_sysdep_start (start_argptr=3D,= dl_main=3D@0x7ffff7fef840: 0x7ffff7fc1ba0 ) at ../sysdeps/unix/sysv/linux/dl-sysdep.c:140 #3 0x00007ffff7fc0a30 in _dl_start_final (arg=3Darg@entry=3D0x7ffffffff6c0= , info=3Dinfo@entry=3D0x7ffffffff0a0) at rtld.c:497 #4 0x00007ffff7fc16f4 in _dl_start (arg=3D0x7ffffffff6c0) at rtld.c:586 #5 0x00007ffff7fbfcb0 in ._start () from /var/lib/buildbot/workers/wildebe= est/glibc-debian-ppc64/build/elf/ld64.so.1 (gdb)=20 --=-=-=--