@@ -17,6 +17,5 @@
|
|||||||
|
|
||||||
void *kmalloc(int size, enum ihk_mc_ap_flag flag);
|
void *kmalloc(int size, enum ihk_mc_ap_flag flag);
|
||||||
void kfree(void *ptr);
|
void kfree(void *ptr);
|
||||||
void show_free_list(void);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
43
kernel/mem.c
43
kernel/mem.c
@@ -761,46 +761,3 @@ void print_free_list(void)
|
|||||||
}
|
}
|
||||||
kprintf("\n");
|
kprintf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_active_entry(void)
|
|
||||||
{
|
|
||||||
struct cpu_local_var *v = get_this_cpu_local_var();
|
|
||||||
struct malloc_header *h = &v->free_list;
|
|
||||||
struct malloc_header *p;
|
|
||||||
struct malloc_header *q;
|
|
||||||
|
|
||||||
kprintf("active entries: \n");
|
|
||||||
for (p = h->next; (p != h) && (p->next != h) ; p = p->next) {
|
|
||||||
if (p->size || p->next->size) {
|
|
||||||
q = p + p->size + 1;
|
|
||||||
if (q != p->next) {
|
|
||||||
kprintf(" %p - %p: %d\n", q, p->next, (p->next - q));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
kprintf("\n");
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
void show_free_list(void)
|
|
||||||
{
|
|
||||||
struct cpu_local_var *v = get_this_cpu_local_var();
|
|
||||||
struct malloc_header *h = &v->free_list;
|
|
||||||
struct malloc_header *p;
|
|
||||||
int count;
|
|
||||||
int free;
|
|
||||||
|
|
||||||
print_active_entry();
|
|
||||||
count = 0;
|
|
||||||
free = 0;
|
|
||||||
for (p = h->next; p != h; p = p->next) {
|
|
||||||
++count;
|
|
||||||
free += p->size;
|
|
||||||
}
|
|
||||||
|
|
||||||
kprintf("[%d]free_list: %d entry %lx bytes\n",
|
|
||||||
ihk_mc_get_processor_id(), count, sizeof(*p)*free);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1915,7 +1915,6 @@ redo:
|
|||||||
if ((last != NULL) && (last->status & (PS_ZOMBIE | PS_EXITED))) {
|
if ((last != NULL) && (last->status & (PS_ZOMBIE | PS_EXITED))) {
|
||||||
free_process_memory(last);
|
free_process_memory(last);
|
||||||
release_process(last);
|
release_process(last);
|
||||||
show_free_list();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user