Changeset 9dae191e in mainline for kernel/generic/src/mm/frame.c
- Timestamp:
- 2010-04-18T00:24:40Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a80687e5
- Parents:
- d8e3467
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/frame.c
rd8e3467 r9dae191e 1202 1202 1203 1203 /** Return total size of all zones. */ 1204 uint64_t zone _total_size(void)1204 uint64_t zones_total_size(void) 1205 1205 { 1206 1206 ipl_t ipl = interrupts_disable(); … … 1218 1218 } 1219 1219 1220 void zone_busy_and_free(uint64_t *out_busy, uint64_t *out_free) 1221 { 1220 void zones_stats(uint64_t *total, uint64_t *unavail, uint64_t *busy, 1221 uint64_t *free) 1222 { 1223 ASSERT(total != NULL); 1224 ASSERT(unavail != NULL); 1225 ASSERT(busy != NULL); 1226 ASSERT(free != NULL); 1227 1222 1228 ipl_t ipl = interrupts_disable(); 1223 1229 spinlock_lock(&zones.lock); 1224 1225 uint64_t busy = 0, free = 0; 1230 1231 *total = 0; 1232 *unavail = 0; 1233 *busy = 0; 1234 *free = 0; 1235 1226 1236 size_t i; 1227 1237 for (i = 0; i < zones.count; i++) { 1228 bool available = zone_flags_available(zones.info[i].flags); 1229 /* Do not count reserved memory */ 1230 if (available) { 1231 busy += (uint64_t) FRAMES2SIZE(zones.info[i].busy_count); 1232 free += (uint64_t) FRAMES2SIZE(zones.info[i].free_count); 1233 } 1234 } 1235 1238 *total += (uint64_t) FRAMES2SIZE(zones.info[i].count); 1239 1240 if (zone_flags_available(zones.info[i].flags)) { 1241 *busy += (uint64_t) FRAMES2SIZE(zones.info[i].busy_count); 1242 *free += (uint64_t) FRAMES2SIZE(zones.info[i].free_count); 1243 } else 1244 *unavail += (uint64_t) FRAMES2SIZE(zones.info[i].count); 1245 } 1246 1236 1247 spinlock_unlock(&zones.lock); 1237 1248 interrupts_restore(ipl); 1238 *out_busy = busy;1239 *out_free = free;1240 1249 } 1241 1250 1242 1251 /** Prints list of zones. */ 1243 void zone _print_list(void)1252 void zones_print_list(void) 1244 1253 { 1245 1254 #ifdef __32_BITS__
Note:
See TracChangeset
for help on using the changeset viewer.