Changes in kernel/generic/src/mm/frame.c [d060900:864b0dd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/frame.c
rd060900 r864b0dd 481 481 482 482 frame_t *frame = &zone->frames[frame_idx]; 483 size_t size = 1 << frame->buddy_order;483 size_t size = 0; 484 484 485 485 ASSERT(frame->refcount); 486 486 487 487 if (!--frame->refcount) { 488 buddy_system_free(zone->buddy_system, &frame->buddy_link);489 488 size = 1 << frame->buddy_order; 489 buddy_system_free(zone->buddy_system, &frame->buddy_link); 490 490 /* Update zone information. */ 491 491 zone->free_count += size; … … 1007 1007 * If not told otherwise, we must first reserve the memory. 1008 1008 */ 1009 if (!(flags & FRAME_NO_RESERVE)) { 1010 if (flags & FRAME_ATOMIC) { 1011 if (!reserve_try_alloc(size)) 1012 return NULL; 1013 } else { 1014 reserve_force_alloc(size); 1015 } 1016 } 1017 1009 if (!(flags & FRAME_NO_RESERVE)) 1010 reserve_force_alloc(size); 1011 1018 1012 loop: 1019 1013 irq_spinlock_lock(&zones.lock, true);
Note:
See TracChangeset
for help on using the changeset viewer.