From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) by sourceware.org (Postfix) with ESMTPS id 661E13857C59 for ; Wed, 5 May 2021 16:53:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 661E13857C59 Received: by mail-qt1-x82d.google.com with SMTP id j11so1693036qtn.12 for ; Wed, 05 May 2021 09:53:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=XNYHB7Mae7zjI2WtPrH5Ecd+WMcMXwdj00Cgo8wKVkQ=; b=mwPLmeO7+kOUmLQKCxy3ExhX8ZB0gFpwkVqazKQIaAlHHXZkblzwXi2xdt6Y4nljyL iCRB7nnusQrl8dXmOAfj6auB6Z/D/5DDyhFNdc2OEtYiI2vpUK1YQSkQeATwdMFze9tl KlKGRBBhroLmfrWBQ+ePPXy3KLmOJd7P4jKdWF2T2HQw4xbJsSVGcUj+lUEPPPlWvp3h tcy5TETymvjdYJs/5aPPFtWiLWHzBorP8S07ECmvmRXYptm+8ZDTPisiE71MIrVPumpI hvGvOoazF0V/sDlcQygM0rEPEW552P527sZN+8LidCXbzs1AqJJNGq1rz8umNZcT4WzI tf9Q== X-Gm-Message-State: AOAM532TH4AEGYLA/Wg4Mt84NB/eEqSBslk67OEmGBfWMqsMA+QozFR9 2Emo7z5Kvd4fhRF9PQqZQK3q8KQo0W3RiQ== X-Google-Smtp-Source: ABdhPJyvy862hTe/gSvuMqh5jxyAh2tNH/t+wAb2XcXv5T+gtD4BT8WW2Ap+ZpE4jBNDOEeE1F+s5A== X-Received: by 2002:a37:6488:: with SMTP id y130mr18862475qkb.301.1620233594952; Wed, 05 May 2021 09:53:14 -0700 (PDT) Received: from [192.168.1.4] ([177.194.37.86]) by smtp.gmail.com with ESMTPSA id f5sm14635544qkk.12.2021.05.05.09.53.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 May 2021 09:53:13 -0700 (PDT) Subject: Re: [PATCH 4/4] linux: Remove /proc/cpuinfo fallback on alpha and sparc From: Adhemerval Zanella To: libc-alpha@sourceware.org References: <20210329182520.323665-1-adhemerval.zanella@linaro.org> <20210329182520.323665-4-adhemerval.zanella@linaro.org> Message-ID: <6f2c137d-1976-f3eb-67fa-521c5babf794@linaro.org> Date: Wed, 5 May 2021 13:53:11 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <20210329182520.323665-4-adhemerval.zanella@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, 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-List-Received-Date: Wed, 05 May 2021 16:53:34 -0000 Ping. On 29/03/2021 15:25, Adhemerval Zanella wrote: > There is no much gain in fallback to cpuinfo if sysfs is no present, > usually on restricted environment neither will be present. It also > simplifies the code and make all architecture use the sched_getaffinity > as the sysfs fallback. > > Checked on sparc64-linux-gnu. > --- > sysdeps/unix/sysv/linux/alpha/getsysstats.c | 38 --------------------- > sysdeps/unix/sysv/linux/getsysstats.c | 22 ++---------- > sysdeps/unix/sysv/linux/sparc/getsysstats.c | 38 --------------------- > 3 files changed, 3 insertions(+), 95 deletions(-) > delete mode 100644 sysdeps/unix/sysv/linux/alpha/getsysstats.c > delete mode 100644 sysdeps/unix/sysv/linux/sparc/getsysstats.c > > diff --git a/sysdeps/unix/sysv/linux/alpha/getsysstats.c b/sysdeps/unix/sysv/linux/alpha/getsysstats.c > deleted file mode 100644 > index 098575faef..0000000000 > --- a/sysdeps/unix/sysv/linux/alpha/getsysstats.c > +++ /dev/null > @@ -1,38 +0,0 @@ > -/* Determine various system internal values, Linux/Alpha version. > - Copyright (C) 1999-2021 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - Contributed by Andreas Schwab > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library. If not, see > - . */ > - > - > -/* On the Alpha we can distinguish between the number of configured and > - active cpus. */ > -#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT) \ > - do \ > - { \ > - /* Find the line that contains the information about the number of \ > - probed cpus. We don't have to fear extremely long lines since \ > - the kernel will not generate them. 8192 bytes are really enough. \ > - If there is no "CPUs ..." line then we are on a UP system. */ \ > - (RESULT) = 1; \ > - while (__fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL) \ > - if ((sscanf (buffer, "cpus detected : %d", &(RESULT)) == 1) \ > - || (sscanf (buffer, "CPUs probed %d", &(RESULT)) == 1)) \ > - break; \ > - } \ > - while (0) > - > -#include > diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c > index 5069951246..0791399b8f 100644 > --- a/sysdeps/unix/sysv/linux/getsysstats.c > +++ b/sysdeps/unix/sysv/linux/getsysstats.c > @@ -64,13 +64,13 @@ weak_alias (__get_nprocs, get_nprocs) > int > __get_nprocs_conf (void) > { > - int result = 1; > - > /* Try to use the sysfs filesystem. It has actual information about > online processors. */ > int fd = __open64_nocancel ("/sys/devices/system/cpu/possible", O_RDONLY); > if (fd != -1) > { > + int result = 0; > + > /* The entry is in the form of '[cpuX]-[cpuY]'. */ > char buf[2 * INT_STRLEN_BOUND (unsigned int) + 1]; > > @@ -97,23 +97,7 @@ __get_nprocs_conf (void) > return result + 1; > } > > -#ifdef GET_NPROCS_CONF_PARSER > - /* If we haven't found an appropriate entry return 1. */ > - FILE *fp = fopen ("/proc/cpuinfo", "rce"); > - if (fp != NULL) > - { > - char buffer[8192]; > - > - /* No threads use this stream. */ > - __fsetlocking (fp, FSETLOCKING_BYCALLER); > - GET_NPROCS_CONF_PARSER (fp, buffer, result); > - fclose (fp); > - } > -#else > - result = __get_nprocs (); > -#endif > - > - return result; > + return __get_nprocs (); > } > libc_hidden_def (__get_nprocs_conf) > weak_alias (__get_nprocs_conf, get_nprocs_conf) > diff --git a/sysdeps/unix/sysv/linux/sparc/getsysstats.c b/sysdeps/unix/sysv/linux/sparc/getsysstats.c > deleted file mode 100644 > index a8adba8321..0000000000 > --- a/sysdeps/unix/sysv/linux/sparc/getsysstats.c > +++ /dev/null > @@ -1,38 +0,0 @@ > -/* Determine various system internal values, Linux/Sparc version. > - Copyright (C) 1999-2021 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - Contributed by Andreas Schwab and > - Jakub Jelinek > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - . */ > - > - > -/* On the Sparc we can distinguish between the number of configured and > - active cpus. */ > -#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT) \ > - do \ > - { \ > - (RESULT) = 0; \ > - /* Find the line that contains the information about the number of \ > - probed cpus. We don't have to fear extremely long lines since \ > - the kernel will not generate them. 8192 bytes are really \ > - enough. */ \ > - while (__fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL) \ > - if (sscanf (buffer, "ncpus probed : %d", &(RESULT)) == 1) \ > - break; \ > - } \ > - while (0) > - > -#include >