From patchwork Sun Jul 12 14:24:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 40040 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 14C323857C5F; Sun, 12 Jul 2020 14:24:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 14C323857C5F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1594563892; bh=05lHCUSC+If92w56M/p24LlzUgf7KIZKmW7zkcom/B0=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=AtwIbu7sg86owvwHkpX0MPci0Q6ZnywLUZG1CR2yi3qeqnNq/Qetum2MhpMew9Y+s dRN5x5dgl4bLvuHptHDaEi9GBwnZiyYqMl3G1cERP6nS7k/h8ejQXRqvGgbp34pjFw amK6VvE6nCphyOcxUPAyLuHRSFfugbxwQVsJOCZU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) by sourceware.org (Postfix) with ESMTPS id 0124D3858D37 for ; Sun, 12 Jul 2020 14:24:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0124D3858D37 Received: by mail-pg1-x541.google.com with SMTP id e18so4857864pgn.7 for ; Sun, 12 Jul 2020 07:24:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=05lHCUSC+If92w56M/p24LlzUgf7KIZKmW7zkcom/B0=; b=Ix/GexPCXTzR88t+g+YFGP0NfQHW41HwhZ3qvPGb/IQf2m0zgpRN9i5bjeQt28R5Tk g+J9xFNZ8Gn6pBsW8gYYcFz8kzZ+6NaEgPh/DOPMeTuFD3nzLubmUzIIcbbG04/x0vFt tLIJjN5WDNaMIs5CZhQwm+wBIBxihDMe4NYbArg0u3A2YKyjlyNkwWc6D5w+nSJnTVQw FerBu29DBIY5y6D3axMC/KDD3YUz7QXCyp5tSEwgjsNcELmPEcERzUqJTNKV/eP5JhMD kNaBXvzgjqhPwDFvzvgrfNTqEmRr+UscHvoya9C3Q4yf6hKCUYWE9k8nq6laUHkw7iIC sOfQ== X-Gm-Message-State: AOAM533QcZONhMm65tdgeubXDscsFW2ePLvgxcY8+JZBsuWgNlZTgFbr 35C7OBIywbPx423Gtc1qEvepM5SLMxs= X-Google-Smtp-Source: ABdhPJwthQUM4wnHB5N3IxMTva6t76VFs5ebajxaJdiKhJL0UZTGyXSO1FqV+08LEbbYtXhQkyTX0A== X-Received: by 2002:a63:8c4f:: with SMTP id q15mr65475109pgn.373.1594563887772; Sun, 12 Jul 2020 07:24:47 -0700 (PDT) Received: from gnu-cfl-2.localdomain (c-69-181-90-243.hsd1.ca.comcast.net. [69.181.90.243]) by smtp.gmail.com with ESMTPSA id ng12sm12232295pjb.15.2020.07.12.07.24.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2020 07:24:47 -0700 (PDT) Received: from gnu-cfl-2.localdomain (localhost [IPv6:::1]) by gnu-cfl-2.localdomain (Postfix) with ESMTP id 69F7F1A00D0 for ; Sun, 12 Jul 2020 07:24:46 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 0/3] ld.so: Add --list-tunables to print tunable values Date: Sun, 12 Jul 2020 07:24:43 -0700 Message-Id: <20200712142446.2184885-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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-Patchwork-Original-From: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Tunable values and their minimum/maximum values are invisible to users. This patch set adds --list-tunables to ld.so to print tunable values with their minimum and maximum values. For these tunables whose values and minimum/maximum values are determinted at run-time, TUNABLE_SET_ALL and TUNABLE_SET_ALL_FULL are added to update tunable values together with their minimum and maximum values. $ ./elf/ld.so --list-tunables glibc.rtld.nns: 0x4 (min: 0x1, max: 0x10) glibc.elision.skip_lock_after_retries: 3 (min: -2147483648, max: 2147483647) glibc.malloc.trim_threshold: 0x0 (min: 0x0, max: 0xffffffff) glibc.malloc.perturb: 0 (min: 0, max: 255) glibc.cpu.x86_shared_cache_size: 0x0 (min: 0x0, max: 0xffffffff) glibc.elision.tries: 3 (min: -2147483648, max: 2147483647) glibc.elision.enable: 0 (min: 0, max: 1) glibc.cpu.x86_rep_movsb_threshold: 0x800 (min: 0x100, max: 0xffffffff) glibc.malloc.mxfast: 0x0 (min: 0x0, max: 0xffffffff) glibc.elision.skip_lock_busy: 3 (min: -2147483648, max: 2147483647) glibc.malloc.top_pad: 0x0 (min: 0x0, max: 0xffffffff) glibc.cpu.x86_rep_stosb_threshold: 0x800 (min: 0x1, max: 0xffffffff) glibc.cpu.x86_non_temporal_threshold: 0x0 (min: 0x0, max: 0xffffffff) glibc.cpu.x86_shstk: glibc.cpu.hwcap_mask: 0x1 (min: 0x0, max: 0xffffffff) glibc.malloc.mmap_max: 0 (min: -2147483648, max: 2147483647) glibc.elision.skip_trylock_internal_abort: 3 (min: -2147483648, max: 2147483647) glibc.malloc.tcache_unsorted_limit: 0x0 (min: 0x0, max: 0xffffffff) glibc.cpu.x86_ibt: glibc.cpu.hwcaps: glibc.elision.skip_lock_internal_abort: 3 (min: -2147483648, max: 2147483647) glibc.malloc.arena_max: 0x0 (min: 0x1, max: 0xffffffff) glibc.malloc.mmap_threshold: 0x0 (min: 0x0, max: 0xffffffff) glibc.cpu.x86_data_cache_size: 0x0 (min: 0x0, max: 0xffffffff) glibc.malloc.tcache_count: 0x0 (min: 0x0, max: 0xffffffff) glibc.malloc.arena_test: 0x0 (min: 0x1, max: 0xffffffff) glibc.pthread.mutex_spin_count: 100 (min: 0, max: 32767) glibc.rtld.optional_static_tls: 0x200 (min: 0x0, max: 0xffffffff) glibc.malloc.tcache_max: 0x0 (min: 0x0, max: 0xffffffff) glibc.malloc.check: 0 (min: 0, max: 3) H.J. Lu (3): x86: Initialize CPU info via IFUNC relocation [BZ 26203] Set tunable value as well as min/max values ld.so: Add --list-tunables to print tunable values elf/Makefile | 6 +- elf/dl-tunables.c | 53 +- elf/dl-tunables.h | 20 +- elf/rtld.c | 37 +- manual/README.tunables | 24 +- manual/tunables.texi | 37 ++ sysdeps/i386/dl-machine.h | 3 +- sysdeps/x86/cacheinfo.c | 873 ++------------------------- sysdeps/x86/cpu-cacheinfo.c | 922 +++++++++++++++++++++++++++++ sysdeps/x86/cpu-features.c | 25 +- sysdeps/x86/dl-get-cpu-features.c | 23 +- sysdeps/x86/include/cpu-features.h | 23 + sysdeps/x86_64/dl-machine.h | 3 +- 13 files changed, 1197 insertions(+), 852 deletions(-) create mode 100644 sysdeps/x86/cpu-cacheinfo.c