From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: Re: [PATCH 4/4] linux: Remove /proc/cpuinfo fallback on alpha and sparc
Date: Wed, 5 May 2021 13:53:11 -0300 [thread overview]
Message-ID: <6f2c137d-1976-f3eb-67fa-521c5babf794@linaro.org> (raw)
In-Reply-To: <20210329182520.323665-4-adhemerval.zanella@linaro.org>
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 <schwab@suse.de>
> -
> - 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
> - <https://www.gnu.org/licenses/>. */
> -
> -
> -/* 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 <sysdeps/unix/sysv/linux/getsysstats.c>
> 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 <schwab@suse.de> and
> - Jakub Jelinek <jj@ultra.linux.cz>
> -
> - 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
> - <https://www.gnu.org/licenses/>. */
> -
> -
> -/* 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 <sysdeps/unix/sysv/linux/getsysstats.c>
>
next prev parent reply other threads:[~2021-05-05 16:53 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-29 18:25 [PATCH 1/4] Remove architecture specific sched_cpucount optimizations Adhemerval Zanella
2021-03-29 18:25 ` [PATCH 2/4] linux: Use sched_getaffinity for __get_nprocs (BZ #27645) Adhemerval Zanella
2021-04-27 15:38 ` Florian Weimer
2021-03-29 18:25 ` [PATCH 3/4] linux: Use /sys/devices/system/cpu/possible on __get_nprocs_conf Adhemerval Zanella
2021-05-05 16:53 ` Adhemerval Zanella
2021-05-05 17:54 ` Florian Weimer
2021-05-05 18:06 ` Florian Weimer
2021-05-06 13:03 ` Adhemerval Zanella
2021-05-06 13:51 ` Florian Weimer
2021-05-06 20:07 ` Adhemerval Zanella
2021-05-07 11:07 ` Florian Weimer
2021-05-07 12:43 ` Adhemerval Zanella
2021-05-06 13:17 ` Adhemerval Zanella
2021-03-29 18:25 ` [PATCH 4/4] linux: Remove /proc/cpuinfo fallback on alpha and sparc Adhemerval Zanella
2021-05-05 16:53 ` Adhemerval Zanella [this message]
2021-05-05 16:52 ` [PATCH 1/4] Remove architecture specific sched_cpucount optimizations Adhemerval Zanella
2021-05-05 17:28 ` Florian Weimer
2021-05-05 18:25 ` Paul Eggert
2021-05-05 19:52 ` Noah Goldstein
2021-05-06 12:22 ` Adhemerval Zanella
2021-05-06 18:34 ` Noah Goldstein
2021-05-06 13:33 ` Adhemerval Zanella
2021-05-06 13:43 ` Florian Weimer
2021-05-06 16:16 ` Adhemerval Zanella
2021-05-06 16:42 ` Florian Weimer
2021-05-06 16:54 ` Adhemerval Zanella
2021-05-06 17:12 ` Paul Eggert
2021-05-06 17:51 ` Adhemerval Zanella
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6f2c137d-1976-f3eb-67fa-521c5babf794@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).