devobj: fix object size (POSTK_DEBUG_TEMP_FIX_36)
Fujitsu: POSTK_DEBUG_TEMP_FIX_36 Change-Id: I5f020708f97b7468f19496b44c98e164d856598d
This commit is contained in:
committed by
Dominique Martinet
parent
ea125cb58c
commit
ebc702624b
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user