- add arm64 dependent codes with GICv3 and SVE support - fix bugs based on architecture separation requests
61 lines
1.3 KiB
C
61 lines
1.3 KiB
C
#ifndef ARCH_RUSAGE_H_INCLUDED
|
|
#define ARCH_RUSAGE_H_INCLUDED
|
|
|
|
#define DEBUG_RUSAGE
|
|
|
|
#define IHK_OS_PGSIZE_4KB 0
|
|
#define IHK_OS_PGSIZE_2MB 1
|
|
#define IHK_OS_PGSIZE_1GB 2
|
|
|
|
extern struct ihk_os_monitor *monitor;
|
|
|
|
extern int sprintf(char * buf, const char *fmt, ...);
|
|
|
|
#define DEBUG_ARCH_RUSAGE
|
|
#ifdef DEBUG_ARCH_RUSAGE
|
|
#define dprintf(...) \
|
|
do { \
|
|
char msg[1024]; \
|
|
sprintf(msg, __VA_ARGS__); \
|
|
kprintf("%s,%s", __FUNCTION__, msg); \
|
|
} while (0);
|
|
#define eprintf(...) \
|
|
do { \
|
|
char msg[1024]; \
|
|
sprintf(msg, __VA_ARGS__); \
|
|
kprintf("%s,%s", __FUNCTION__, msg); \
|
|
} while (0);
|
|
#else
|
|
#define dprintf(...) do { } while (0)
|
|
#define eprintf(...) \
|
|
do { \
|
|
char msg[1024]; \
|
|
sprintf(msg, __VA_ARGS__); \
|
|
kprintf("%s,%s", __FUNCTION__, msg); \
|
|
} while (0);
|
|
#endif
|
|
|
|
static inline int rusage_pgsize_to_pgtype(size_t pgsize)
|
|
{
|
|
int ret = IHK_OS_PGSIZE_4KB;
|
|
#if 0 /* postk-TODO */
|
|
switch (pgsize) {
|
|
case PTL1_SIZE:
|
|
ret = IHK_OS_PGSIZE_4KB;
|
|
break;
|
|
case PTL2_SIZE:
|
|
ret = IHK_OS_PGSIZE_2MB;
|
|
break;
|
|
case PTL3_SIZE:
|
|
ret = IHK_OS_PGSIZE_1GB;
|
|
break;
|
|
default:
|
|
eprintf("unknown pgsize=%ld\n", pgsize);
|
|
break;
|
|
}
|
|
#endif
|
|
return ret;
|
|
}
|
|
|
|
#endif /* !defined(ARCH_RUSAGE_H_INCLUDED) */
|