| 346 | #endif |
| 347 | |
| 348 | static inline int find_level(size_t size) { |
| 349 | int level = 0; |
| 350 | while ((1 << (level + 8)) <= size) |
| 351 | level += 8; |
| 352 | while ((1 << level) < size) |
| 353 | level++; |
| 354 | return level; |
| 355 | } |
| 356 | |
| 357 | static inline segaddr_t find_buddy(segaddr_t addr, int level) { |
| 358 | return addr ^ (1 << level); |