aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-02-08 16:53:40 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-03-22 16:52:29 -0300
commit6e8ba7fd574f530afb9681f21604475d5756d773 (patch)
tree6cf03b2d688118ae69cfb67d634f914fbc945990 /sysdeps/unix/sysv/linux/i386/get_clockfreq.c
parent77b6f5534778b5403c87fa5415625aeb4c3cbf44 (diff)
downloadglibc-6e8ba7fd574f530afb9681f21604475d5756d773.tar
glibc-6e8ba7fd574f530afb9681f21604475d5756d773.tar.gz
glibc-6e8ba7fd574f530afb9681f21604475d5756d773.tar.bz2
glibc-6e8ba7fd574f530afb9681f21604475d5756d773.zip
Remove __get_clockfreq
With clock_getres, clock_gettime, and clock_settime refactor to remove the generic CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID support through hp-timing, there is no usage of internal __get_clockfreq. This patch removes both generic and Linux implementation.. Checked with a build against aarch64-linux-gnu, i686-linux-gnu, ia64-linux-gnu, sparc64-linux-gnu, powerpc-linux-gnu-power4. * include/libc-internal.h (__get_clockfreq): Remove prototype. * rt/Makefile (clock-routines): Remove get_clockfreq. * rt/get_clockfreq.c: Remove file. * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise. * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c: Move code to ... * sysdeps/unix/sysv/linux/powerpc/get_timebase_freq.c: ... here.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/get_clockfreq.c')
-rw-r--r--sysdeps/unix/sysv/linux/i386/get_clockfreq.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c b/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
deleted file mode 100644
index 621d52491b..0000000000
--- a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Get frequency of the system processor. i386/Linux version.
- Copyright (C) 2000-2019 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- 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
- <http://www.gnu.org/licenses/>. */
-
-#include <ctype.h>
-#include <fcntl.h>
-#include <string.h>
-#include <unistd.h>
-
-hp_timing_t
-__get_clockfreq (void)
-{
- /* We read the information from the /proc filesystem. It contains at
- least one line like
- cpu MHz : 497.840237
- or also
- cpu MHz : 497.841
- We search for this line and convert the number in an integer. */
- static hp_timing_t result;
- int fd;
-
- /* If this function was called before, we know the result. */
- if (result != 0)
- return result;
-
- fd = __open ("/proc/cpuinfo", O_RDONLY);
- if (__glibc_likely (fd != -1))
- {
- /* XXX AFAIK the /proc filesystem can generate "files" only up
- to a size of 4096 bytes. */
- char buf[4096];
- ssize_t n;
-
- n = __read (fd, buf, sizeof buf);
- if (__builtin_expect (n, 1) > 0)
- {
- char *mhz = memmem (buf, n, "cpu MHz", 7);
-
- if (__glibc_likely (mhz != NULL))
- {
- char *endp = buf + n;
- int seen_decpoint = 0;
- int ndigits = 0;
-
- /* Search for the beginning of the string. */
- while (mhz < endp && (*mhz < '0' || *mhz > '9') && *mhz != '\n')
- ++mhz;
-
- while (mhz < endp && *mhz != '\n')
- {
- if (*mhz >= '0' && *mhz <= '9')
- {
- result *= 10;
- result += *mhz - '0';
- if (seen_decpoint)
- ++ndigits;
- }
- else if (*mhz == '.')
- seen_decpoint = 1;
-
- ++mhz;
- }
-
- /* Compensate for missing digits at the end. */
- while (ndigits++ < 6)
- result *= 10;
- }
- }
-
- __close (fd);
- }
-
- return result;
-}