mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
* sysdeps/unix/i386/i586/clock_getres.c: Removed. * sysdeps/unix/i386/i586/clock_gettime.c: Removed. * sysdeps/unix/i386/i586/clock_nanosleep.c: Removed. * sysdeps/unix/i386/i586/clock_settime.c: Removed. * sysdeps/unix/i386/i586/cpuclock-init.h: Removed. * sysdeps/generic/cpuclock-init.h: Removed. * sysdeps/unix/i386/i686/Implies: Removed. * sysdeps/unix/i386/i686/tempname.c: Removed. * sysdeps/i386/i686/Versions: New file. * sysdeps/unix/i386/i586/Versions: Removed. * sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. * sysdeps/unix/clock_gettime.c: Likewise. * sysdeps/unix/clock_nanosleep.c: Likewise. * sysdeps/unix/clock_settime.c: Likewise. * sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define RANDOM_BITS use CPU clock. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file. * sysdeps/sparc/Versions: New file. * elf/dl-support.c: Don't use cpuclock-init.h definitions, use hp-timing.h definitions. * sysdeps/generic/dl-sysdep.c: Likewise. * include/libc-internal.h: Include hp-timing.h. Use hp_timing_t in __get_clockfreq prototype. * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq): Use hp_timing_t type. * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file.
This commit is contained in:
@ -1,3 +1,18 @@
|
||||
2001-04-23 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* Makefile (libpthread-routines): Add ptclock_gettime and
|
||||
ptclock_settime.
|
||||
* internals.h: Don't use cpuclock-init.h definitions, use
|
||||
hp-timing.h definitions.
|
||||
* pthread.c: Likewise.
|
||||
* manager.c: Likewise.
|
||||
* ptclock_gettime.c: New file.
|
||||
* ptclock_settime.c: New file.
|
||||
|
||||
* sysdeps/i386/i586/ptclock_gettime.c: Removed.
|
||||
* sysdeps/i386/i586/ptclock_settime.c: Removed.
|
||||
* sysdeps/i386/i586/Makefile: Removed.
|
||||
|
||||
2001-04-22 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_ASYNCH_IO.
|
||||
|
@ -35,7 +35,8 @@ extra-libs-others := $(extra-libs)
|
||||
libpthread-routines := attr cancel condvar join manager mutex ptfork \
|
||||
ptlongjmp pthread signals specific errno lockfile \
|
||||
semaphore spinlock wrapsyscall rwlock pt-machine \
|
||||
oldsemaphore events getcpuclockid pspinlock barrier
|
||||
oldsemaphore events getcpuclockid pspinlock barrier \
|
||||
ptclock_gettime ptclock_settime
|
||||
|
||||
nodelete-yes = -Wl,--enable-new-dtags,-z,nodelete
|
||||
initfirst-yes = -Wl,--enable-new-dtags,-z,initfirst
|
||||
|
@ -33,7 +33,7 @@ extern int __compare_and_swap (long int *p, long int oldval, long int newval);
|
||||
#include "pt-machine.h"
|
||||
#include "semaphore.h"
|
||||
#include "../linuxthreads_db/thread_dbP.h"
|
||||
#include <cpuclock-init.h>
|
||||
#include <hp-timing.h>
|
||||
|
||||
#ifndef THREAD_GETMEM
|
||||
# define THREAD_GETMEM(descr, member) descr->member
|
||||
@ -180,8 +180,8 @@ struct _pthread_descr_struct {
|
||||
struct __res_state *p_resp; /* Pointer to resolver state */
|
||||
struct __res_state p_res; /* per-thread resolver state */
|
||||
int p_inheritsched; /* copied from the thread attribute */
|
||||
#ifdef CPUCLOCK_VARDEF
|
||||
CPUCLOCK_VARDEF (p_cpuclock_offset); /* Initial CPU clock for thread. */
|
||||
#if HP_TIMING_AVAIL
|
||||
hp_timing_t p_cpuclock_offset; /* Initial CPU clock for thread. */
|
||||
#endif
|
||||
/* New elements must be added at the end. */
|
||||
} __attribute__ ((aligned(32))); /* We need to align the structure so that
|
||||
|
@ -230,15 +230,15 @@ pthread_start_thread(void *arg)
|
||||
pthread_descr self = (pthread_descr) arg;
|
||||
struct pthread_request request;
|
||||
void * outcome;
|
||||
#ifdef CPUCLOCK_VARDEF
|
||||
CPUCLOCK_VARDEF (tmpclock);
|
||||
#if HP_TIMING_AVAIL
|
||||
hp_timing_t tmpclock;
|
||||
#endif
|
||||
/* Initialize special thread_self processing, if any. */
|
||||
#ifdef INIT_THREAD_SELF
|
||||
INIT_THREAD_SELF(self, self->p_nr);
|
||||
#endif
|
||||
#ifdef CPUCLOCK_INIT
|
||||
CPUCLOCK_INIT (tmpclock);
|
||||
#if HP_TIMING_AVAIL
|
||||
HP_TIMING_NOW (tmpclock);
|
||||
THREAD_SETMEM (self, p_cpuclock_offset, tmpclock);
|
||||
#endif
|
||||
/* Make sure our pid field is initialized, just in case we get there
|
||||
|
@ -18,18 +18,18 @@
|
||||
|
||||
#include <time.h>
|
||||
#include <libc-internal.h>
|
||||
|
||||
#include "../../../internals.h"
|
||||
#include "internals.h"
|
||||
|
||||
|
||||
#if HP_TIMING_AVAIL
|
||||
int
|
||||
__pthread_clock_gettime (unsigned long long int freq, struct timespec *tp)
|
||||
__pthread_clock_gettime (hp_timing_t freq, struct timespec *tp)
|
||||
{
|
||||
unsigned long long int tsc;
|
||||
hp_timing_t tsc;
|
||||
pthread_descr self = thread_self ();
|
||||
|
||||
/* Get the current counter. */
|
||||
asm volatile ("rdtsc" : "=A" (tsc));
|
||||
HP_TIMING_NOW (tsc);
|
||||
|
||||
/* Compute the offset since the start time of the process. */
|
||||
tsc -= THREAD_GETMEM (self, p_cpuclock_offset);
|
||||
@ -43,3 +43,4 @@ __pthread_clock_gettime (unsigned long long int freq, struct timespec *tp)
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
@ -18,15 +18,16 @@
|
||||
|
||||
#include <time.h>
|
||||
#include <libc-internal.h>
|
||||
|
||||
#include "../../../internals.h"
|
||||
#include "internals.h"
|
||||
|
||||
|
||||
#if HP_TIMING_AVAIL
|
||||
void
|
||||
__pthread_clock_settime (unsigned long long int offset)
|
||||
__pthread_clock_settime (hp_timing_t offset)
|
||||
{
|
||||
pthread_descr self = thread_self ();
|
||||
|
||||
/* Compute the offset since the start time of the process. */
|
||||
THREAD_SETMEM (self, p_cpuclock_offset, offset);
|
||||
}
|
||||
#endif
|
@ -226,8 +226,8 @@ static void pthread_handle_sigrestart(int sig);
|
||||
static void pthread_handle_sigdebug(int sig);
|
||||
|
||||
/* CPU clock handling. */
|
||||
#ifdef CPUCLOCK_VARDECL
|
||||
CPUCLOCK_VARDECL (_dl_cpuclock_offset);
|
||||
#if HP_TIMING_AVAIL
|
||||
extern hp_timing_t _dl_cpuclock_offset;
|
||||
#endif
|
||||
|
||||
/* Signal numbers used for the communication.
|
||||
@ -395,7 +395,7 @@ __pthread_initialize_minimal(void)
|
||||
#ifdef INIT_THREAD_SELF
|
||||
INIT_THREAD_SELF(&__pthread_initial_thread, 0);
|
||||
#endif
|
||||
#ifdef CPUCLOCK_INIT
|
||||
#if HP_TIMING_AVAIL
|
||||
__pthread_initial_thread.p_cpuclock_offset = _dl_cpuclock_offset;
|
||||
#endif
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
ifeq ($(subdir),linuxthreads)
|
||||
libpthread-sysdep_routines += ptclock_gettime ptclock_settime
|
||||
endif
|
Reference in New Issue
Block a user