From: John L. <mov...@us...> - 2004-12-12 23:27:15
|
Update of /cvsroot/oprofile/oprofile/daemon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11062/daemon Modified Files: opd_cookie.c opd_perfmon.c opd_sfile.c Log Message: MIPS support, some check_style.py fixes Index: opd_cookie.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/daemon/opd_cookie.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -p -d -r1.13 -r1.14 --- opd_cookie.c 8 Feb 2004 20:36:44 -0000 1.13 +++ opd_cookie.c 12 Dec 2004 23:26:35 -0000 1.14 @@ -40,6 +40,20 @@ #define __NR_lookup_dcookie 110 #elif defined(__arm__) #define __NR_lookup_dcookie (__NR_SYSCALL_BASE+249) +#elif defined(__mips__) +#include <sgidefs.h> +/* O32 */ +#if _MIPS_SIM == _MIPS_SIM_ABI32 +#define __NR_lookup_dcookie 4247 +/* N64 */ +#elif _MIPS_SIM == _MIPS_SIM_ABI64 +#define __NR_lookup_dcookie 5206 +/* N32 */ +#elif _MIPS_SIM == _MIPS_SIM_NABI32 +#define __NR_lookup_dcookie 6206 +#else +#error Unknown MIPS ABI: Dunno __NR_lookup_dcookie +#endif #else #error Please define __NR_lookup_dcookie for your architecture #endif Index: opd_perfmon.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/daemon/opd_perfmon.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -p -d -r1.18 -r1.19 --- opd_perfmon.c 14 Oct 2004 01:50:27 -0000 1.18 +++ opd_perfmon.c 12 Dec 2004 23:26:35 -0000 1.19 @@ -10,7 +10,9 @@ #ifdef __ia64__ -#define _GNU_SOURCE /* need this for sched_setaffinity() in <sched.h> */ +/* need this for sched_setaffinity() in <sched.h> */ +#define _GNU_SOURCE + #include "oprofiled.h" #include "opd_perfmon.h" #include "opd_events.h" @@ -43,17 +45,19 @@ extern op_cpu cpu_type; /* Copied from glibc's <sched.h> and <bits/sched.h> and munged */ #define CPU_SETSIZE 1024 -# define __NCPUBITS (8 * sizeof (unsigned long)) +#define __NCPUBITS (8 * sizeof (unsigned long)) typedef struct { unsigned long __bits[CPU_SETSIZE / __NCPUBITS]; } cpu_set_t; #define CPU_SET(cpu, cpusetp) \ - ((cpusetp)->__bits[(cpu)/__NCPUBITS] |= (1UL << ((cpu) % __NCPUBITS))) -#define CPU_ZERO(cpusetp) memset((cpusetp), 0, sizeof(cpu_set_t)) + ((cpusetp)->__bits[(cpu)/__NCPUBITS] |= (1UL << ((cpu) % __NCPUBITS))) +#define CPU_ZERO(cpusetp) \ + memset((cpusetp), 0, sizeof(cpu_set_t)) -static int sched_setaffinity(pid_t pid, size_t len, const cpu_set_t *cpusetp) +static int +sched_setaffinity(pid_t pid, size_t len, cpu_set_t const * cpusetp) { return syscall(__NR_sched_setaffinity, pid, len, cpusetp); } Index: opd_sfile.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/daemon/opd_sfile.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -p -d -r1.27 -r1.28 --- opd_sfile.c 20 Nov 2004 17:57:39 -0000 1.27 +++ opd_sfile.c 12 Dec 2004 23:26:35 -0000 1.28 @@ -398,22 +398,22 @@ void sfile_clear_kernel(void) { struct list_head * pos; struct list_head * pos2; - struct sfile * sf; list_for_each_safe(pos, pos2, &lru_list) { - sf = list_entry(pos, struct sfile, lru); + size_t i; + struct sfile * sf = list_entry(pos, struct sfile, lru); if (sf->kernel) { kill_sfile(sf); - } else { - size_t i; - for (i = 0 ; i < CG_HASH_TABLE_SIZE; ++i) { - struct list_head * pos, * pos2; - list_for_each_safe(pos, pos2, &sf->cg_files[i]) { - struct cg_hash_entry * cg = - list_entry(pos, struct cg_hash_entry, next); - if (cg->from.start || cg->to.start) - kill_cg_file(cg); - } + continue; + } + + for (i = 0 ; i < CG_HASH_TABLE_SIZE; ++i) { + struct list_head * pos, * pos2; + list_for_each_safe(pos, pos2, &sf->cg_files[i]) { + struct cg_hash_entry * cg = list_entry(pos, + struct cg_hash_entry, next); + if (cg->from.start || cg->to.start) + kill_cg_file(cg); } } } |