devobj: fix object size (POSTK_DEBUG_TEMP_FIX_36)

Fujitsu: POSTK_DEBUG_TEMP_FIX_36
Change-Id: I5f020708f97b7468f19496b44c98e164d856598d
This commit is contained in:
Dominique Martinet
2018-08-07 15:28:05 +09:00
committed by Dominique Martinet
parent ea125cb58c
commit ebc702624b

View File

@@ -86,12 +86,9 @@ int devobj_create(int fd, size_t len, off_t off, struct memobj **objp, int *maxp
int error; int error;
struct devobj *obj = NULL; struct devobj *obj = NULL;
const size_t npages = (len + PAGE_SIZE - 1) / PAGE_SIZE; const size_t npages = (len + PAGE_SIZE - 1) / PAGE_SIZE;
#ifdef POSTK_DEBUG_TEMP_FIX_36
const size_t uintptr_per_page = (PAGE_SIZE / sizeof(uintptr_t)); const size_t uintptr_per_page = (PAGE_SIZE / sizeof(uintptr_t));
const size_t pfn_npages = (npages + uintptr_per_page - 1) / uintptr_per_page; const size_t pfn_npages =
#else (npages + uintptr_per_page - 1) / uintptr_per_page;
const size_t pfn_npages = (npages / (PAGE_SIZE / sizeof(uintptr_t))) + 1;
#endif /*POSTK_DEBUG_TEMP_FIX_36*/
dkprintf("%s: fd: %d, len: %lu, off: %lu \n", __FUNCTION__, fd, len, off); dkprintf("%s: fd: %d, len: %lu, off: %lu \n", __FUNCTION__, fd, len, off);
@@ -186,10 +183,9 @@ static void devobj_release(struct memobj *memobj)
struct devobj *obj = to_devobj(memobj); struct devobj *obj = to_devobj(memobj);
struct devobj *free_obj = NULL; struct devobj *free_obj = NULL;
uintptr_t handle; uintptr_t handle;
#ifndef POSTK_DEBUG_TEMP_FIX_36 const size_t uintptr_per_page = (PAGE_SIZE / sizeof(uintptr_t));
const size_t pfn_npages = const size_t pfn_npages =
(obj->npages / (PAGE_SIZE / sizeof(uintptr_t))) + 1; (obj->npages + uintptr_per_page - 1) / uintptr_per_page;
#endif /*!POSTK_DEBUG_TEMP_FIX_36*/
dkprintf("devobj_release(%p %lx)\n", obj, obj->handle); dkprintf("devobj_release(%p %lx)\n", obj, obj->handle);
@@ -221,13 +217,7 @@ static void devobj_release(struct memobj *memobj)
if (obj->pfn_table) { if (obj->pfn_table) {
// Don't call memory_stat_rss_sub() because devobj related pages don't reside in main memory // Don't call memory_stat_rss_sub() because devobj related pages don't reside in main memory
#ifdef POSTK_DEBUG_TEMP_FIX_36
const size_t uintptr_per_page = (PAGE_SIZE / sizeof(uintptr_t));
const size_t pfn_npages = (obj->npages + uintptr_per_page - 1) / uintptr_per_page;
ihk_mc_free_pages(obj->pfn_table, pfn_npages); ihk_mc_free_pages(obj->pfn_table, pfn_npages);
#else
ihk_mc_free_pages(obj->pfn_table, pfn_npages);
#endif /*POSTK_DEBUG_TEMP_FIX_36*/
} }
if (to_memobj(free_obj)->path) { if (to_memobj(free_obj)->path) {