rusage: Fix available page sizes

Change-Id: I418075ff4b5341e0f5c7ff317e96461879a60f87
This commit is contained in:
Masamichi Takagi
2018-12-13 13:54:18 +09:00
committed by Dominique Martinet
parent c82c2c1231
commit 6810506c3d
19 changed files with 65 additions and 186 deletions

View File

@ -44,7 +44,6 @@
#include <config.h>
#include "mcctrl.h"
#include <ihk/ihk_host_user.h>
#include <ihklib_rusage.h>
#include <rusage.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
#include <uapi/linux/sched/types.h>
@ -2376,7 +2375,7 @@ long mcctrl_getrusage(ihk_os_t ihk_os, struct mcctrl_ioctl_getrusage_desc *__use
{
struct mcctrl_ioctl_getrusage_desc desc;
struct rusage_global *rusage_global = ihk_os_get_rusage(ihk_os);
struct mckernel_rusage *rusage = NULL;
struct ihk_os_rusage *rusage = NULL;
int ret = 0;
int i;
unsigned long ut;
@ -2388,13 +2387,13 @@ long mcctrl_getrusage(ihk_os_t ihk_os, struct mcctrl_ioctl_getrusage_desc *__use
goto out;
}
rusage = kmalloc(sizeof(struct mckernel_rusage), GFP_KERNEL);
rusage = kmalloc(sizeof(struct ihk_os_rusage), GFP_KERNEL);
if (!rusage) {
printk("%s: kmalloc failed\n", __FUNCTION__);
ret = -ENOMEM;
goto out;
}
memset(rusage, 0, sizeof(struct mckernel_rusage));
memset(rusage, 0, sizeof(struct ihk_os_rusage));
/* Compile statistics */
for (i = 0; i < IHK_MAX_NUM_PGSIZES; i++) {
@ -2422,8 +2421,10 @@ long mcctrl_getrusage(ihk_os_t ihk_os, struct mcctrl_ioctl_getrusage_desc *__use
rusage->num_threads = rusage_global->num_threads;
rusage->max_num_threads = rusage_global->max_num_threads;
if (desc.size_rusage > sizeof(struct mckernel_rusage)) {
printk("%s: desc.size_rusage=%ld > sizeof(struct mckernel_rusage)=%ld\n", __FUNCTION__, desc.size_rusage, sizeof(struct mckernel_rusage));
if (desc.size_rusage > sizeof(struct ihk_os_rusage)) {
printk("%s: desc.size_rusage=%ld > sizeof(struct mckernel_rusage)=%ld\n",
__func__, desc.size_rusage,
sizeof(struct ihk_os_rusage));
ret = -EINVAL;
goto out;
}