Skip to content

Instantly share code, notes, and snippets.

@macmade
Created December 10, 2012 23:44
Show Gist options
  • Select an option

  • Save macmade/4254411 to your computer and use it in GitHub Desktop.

Select an option

Save macmade/4254411 to your computer and use it in GitHub Desktop.
XEOS: Buddy physical memory allocator
--------------------------------------------------------------------------------
XEOS: Buddy physical memory allocator
Total memory: 1024 MB (1073741824 B) at 0x101000000
--------------------------------------------------------------------------------
Memory zone 1 - Length: 639 KB
- Pages: 159
- Buddy 0: 159 blocks of 4 KB
- Buddy 1: 79 blocks of 8 KB
- Buddy 2: 39 blocks of 16 KB
- Buddy 3: 19 blocks of 32 KB
- Buddy 4: 9 blocks of 64 KB
- Buddy 5: 4 blocks of 128 KB
- Buddy 6: 2 blocks of 256 KB
- Buddy 7: 1 blocks of 512 KB
- Buddy 8: 0 blocks of 1024 KB
- Buddy 9: 0 blocks of 2048 KB
- Zone memory: 0 KB (676 B)
--------------------------------------------------------------------------------
Memory zone 2 - Length: 1 KB
- Pages: 0
- Buddy 0: 0 blocks of 4 KB
- Buddy 1: 0 blocks of 8 KB
- Buddy 2: 0 blocks of 16 KB
- Buddy 3: 0 blocks of 32 KB
- Buddy 4: 0 blocks of 64 KB
- Buddy 5: 0 blocks of 128 KB
- Buddy 6: 0 blocks of 256 KB
- Buddy 7: 0 blocks of 512 KB
- Buddy 8: 0 blocks of 1024 KB
- Buddy 9: 0 blocks of 2048 KB
- Zone memory: 0 KB (616 B)
--------------------------------------------------------------------------------
Memory zone 3 - Length: 64 KB
- Pages: 16
- Buddy 0: 16 blocks of 4 KB
- Buddy 1: 8 blocks of 8 KB
- Buddy 2: 4 blocks of 16 KB
- Buddy 3: 2 blocks of 32 KB
- Buddy 4: 1 blocks of 64 KB
- Buddy 5: 0 blocks of 128 KB
- Buddy 6: 0 blocks of 256 KB
- Buddy 7: 0 blocks of 512 KB
- Buddy 8: 0 blocks of 1024 KB
- Buddy 9: 0 blocks of 2048 KB
- Zone memory: 0 KB (636 B)
--------------------------------------------------------------------------------
Memory zone 4 - Length: 324 KB
- Pages: 81
- Buddy 0: 81 blocks of 4 KB
- Buddy 1: 40 blocks of 8 KB
- Buddy 2: 20 blocks of 16 KB
- Buddy 3: 10 blocks of 32 KB
- Buddy 4: 5 blocks of 64 KB
- Buddy 5: 2 blocks of 128 KB
- Buddy 6: 1 blocks of 256 KB
- Buddy 7: 0 blocks of 512 KB
- Buddy 8: 0 blocks of 1024 KB
- Buddy 9: 0 blocks of 2048 KB
- Zone memory: 0 KB (656 B)
--------------------------------------------------------------------------------
Memory zone 5 - Length: 64 KB
- Pages: 16
- Buddy 0: 16 blocks of 4 KB
- Buddy 1: 8 blocks of 8 KB
- Buddy 2: 4 blocks of 16 KB
- Buddy 3: 2 blocks of 32 KB
- Buddy 4: 1 blocks of 64 KB
- Buddy 5: 0 blocks of 128 KB
- Buddy 6: 0 blocks of 256 KB
- Buddy 7: 0 blocks of 512 KB
- Buddy 8: 0 blocks of 1024 KB
- Buddy 9: 0 blocks of 2048 KB
- Zone memory: 0 KB (636 B)
--------------------------------------------------------------------------------
Zones memory: 3 KB (3220 B)
--------------------------------------------------------------------------------
Memory zones:
0x0000000000000000 -> 0x000000000009FBFF: Reserved - 654336 B
0x000000000009FC00 -> 0x000000000009FFFF: Reserved - 1024 B
0x00000000000F0000 -> 0x00000000000FFFFF: Reserved - 65536 B
0x0000000000100000 -> 0x0000000000150FFF: Usable - 331776 B
0x000000003FFF0000 -> 0x000000003FFFFFFF: ACPI - 65536 B
--------------------------------------------------------------------------------
Memory zone 1 - Address: 0x100807800
- Buddy blocks: 0x100807A68
- Buddy 0: 159 blocks using 20 bytes describing 651264 bytes
- Buddy 1: 79 blocks using 12 bytes describing 647168 bytes
- Buddy 2: 39 blocks using 8 bytes describing 638976 bytes
- Buddy 3: 19 blocks using 4 bytes describing 622592 bytes
- Buddy 4: 9 blocks using 4 bytes describing 589824 bytes
- Buddy 5: 4 blocks using 4 bytes describing 524288 bytes
- Buddy 6: 2 blocks using 4 bytes describing 524288 bytes
- Buddy 7: 1 blocks using 4 bytes describing 524288 bytes
- Buddy 8: 0 blocks using 0 bytes describing 0 bytes
- Buddy 9: 0 blocks using 0 bytes describing 0 bytes
- Buddy blocks: 0x100807AA4
--------------------------------------------------------------------------------
Memory zone 2 - Address: 0x100807aa4
- Buddy blocks: 0x100807D0C
- Buddy 0: 0 blocks using 0 bytes describing 0 bytes
- Buddy 1: 0 blocks using 0 bytes describing 0 bytes
- Buddy 2: 0 blocks using 0 bytes describing 0 bytes
- Buddy 3: 0 blocks using 0 bytes describing 0 bytes
- Buddy 4: 0 blocks using 0 bytes describing 0 bytes
- Buddy 5: 0 blocks using 0 bytes describing 0 bytes
- Buddy 6: 0 blocks using 0 bytes describing 0 bytes
- Buddy 7: 0 blocks using 0 bytes describing 0 bytes
- Buddy 8: 0 blocks using 0 bytes describing 0 bytes
- Buddy 9: 0 blocks using 0 bytes describing 0 bytes
- Buddy blocks: 0x100807D0C
--------------------------------------------------------------------------------
Memory zone 3 - Address: 0x100807d0c
- Buddy blocks: 0x100807F74
- Buddy 0: 16 blocks using 4 bytes describing 65536 bytes
- Buddy 1: 8 blocks using 4 bytes describing 65536 bytes
- Buddy 2: 4 blocks using 4 bytes describing 65536 bytes
- Buddy 3: 2 blocks using 4 bytes describing 65536 bytes
- Buddy 4: 1 blocks using 4 bytes describing 65536 bytes
- Buddy 5: 0 blocks using 0 bytes describing 0 bytes
- Buddy 6: 0 blocks using 0 bytes describing 0 bytes
- Buddy 7: 0 blocks using 0 bytes describing 0 bytes
- Buddy 8: 0 blocks using 0 bytes describing 0 bytes
- Buddy 9: 0 blocks using 0 bytes describing 0 bytes
- Buddy blocks: 0x100807F88
--------------------------------------------------------------------------------
Memory zone 4 - Address: 0x100807f88
- Buddy blocks: 0x1008081F0
- Buddy 0: 81 blocks using 12 bytes describing 331776 bytes
- Buddy 1: 40 blocks using 8 bytes describing 327680 bytes
- Buddy 2: 20 blocks using 4 bytes describing 327680 bytes
- Buddy 3: 10 blocks using 4 bytes describing 327680 bytes
- Buddy 4: 5 blocks using 4 bytes describing 327680 bytes
- Buddy 5: 2 blocks using 4 bytes describing 262144 bytes
- Buddy 6: 1 blocks using 4 bytes describing 262144 bytes
- Buddy 7: 0 blocks using 0 bytes describing 0 bytes
- Buddy 8: 0 blocks using 0 bytes describing 0 bytes
- Buddy 9: 0 blocks using 0 bytes describing 0 bytes
- Buddy blocks: 0x100808218
--------------------------------------------------------------------------------
Memory zone 5 - Address: 0x100808218
- Buddy blocks: 0x100808480
- Buddy 0: 16 blocks using 4 bytes describing 65536 bytes
- Buddy 1: 8 blocks using 4 bytes describing 65536 bytes
- Buddy 2: 4 blocks using 4 bytes describing 65536 bytes
- Buddy 3: 2 blocks using 4 bytes describing 65536 bytes
- Buddy 4: 1 blocks using 4 bytes describing 65536 bytes
- Buddy 5: 0 blocks using 0 bytes describing 0 bytes
- Buddy 6: 0 blocks using 0 bytes describing 0 bytes
- Buddy 7: 0 blocks using 0 bytes describing 0 bytes
- Buddy 8: 0 blocks using 0 bytes describing 0 bytes
- Buddy 9: 0 blocks using 0 bytes describing 0 bytes
- Buddy blocks: 0x100808494
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXO
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------X---------------O---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Single page allocation:
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 0 has free blocks (1/81)
*** Skipping used blocks #0 -> #31 (0x100000 -> 0x11F000)
*** Skipping used blocks #32 -> #63 (0x120000 -> 0x13F000)
*** Processing block #64: Used - Cannot allocate (0x140000)
*** Processing block #65: Used - Cannot allocate (0x141000)
*** Processing block #66: Used - Cannot allocate (0x142000)
*** Processing block #67: Used - Cannot allocate (0x143000)
*** Processing block #68: Used - Cannot allocate (0x144000)
*** Processing block #69: Used - Cannot allocate (0x145000)
*** Processing block #70: Used - Cannot allocate (0x146000)
*** Processing block #71: Used - Cannot allocate (0x147000)
*** Processing block #72: Used - Cannot allocate (0x148000)
*** Processing block #73: Used - Cannot allocate (0x149000)
*** Processing block #74: Used - Cannot allocate (0x14A000)
*** Processing block #75: Used - Cannot allocate (0x14B000)
*** Processing block #76: Used - Cannot allocate (0x14C000)
*** Processing block #77: Used - Cannot allocate (0x14D000)
*** Processing block #78: Used - Cannot allocate (0x14E000)
*** Processing block #79: Used - Cannot allocate (0x14F000)
*** Processing block #80: Free - Allocation successfull at 0x150000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------X---------------O---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 0 - Split required
*** Buddy 1 has no free blocks
*** Buddy 2 has no free blocks
*** Buddy 3 has no free blocks
*** Buddy 4 has free blocks (1/5)
*** Processing block #4: Used - Cannot split
*** Processing block #4: Used - Cannot split
*** Processing block #4: Used - Cannot split
*** Processing block #4: Used - Cannot split
*** Processing block #4: Free
*** Splitting block #4 of buddy 4
*** Splitting block #8 of buddy 3
*** Splitting block #16 of buddy 2
*** Splitting block #32 of buddy 1
*** Allocating block #64 of buddy 0
*** Block #65 of buddy 0 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---O---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 0 has free blocks (1/81)
*** Skipping used blocks #0 -> #31 (0x100000 -> 0x11F000)
*** Skipping used blocks #32 -> #63 (0x120000 -> 0x13F000)
*** Processing block #64: Used - Cannot allocate (0x140000)
*** Processing block #65: Free - Allocation successfull at 0x141000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---O---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 0 - Split required
*** Buddy 1 has free blocks (1/40)
*** Skipping used blocks #0 -> #31
*** Processing block #1: Used - Cannot split
*** Processing block #1: Free
*** Splitting block #33 of buddy 1
*** Allocating block #66 of buddy 0
*** Block #67 of buddy 0 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---O---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 0 has free blocks (1/81)
*** Skipping used blocks #0 -> #31 (0x100000 -> 0x11F000)
*** Skipping used blocks #32 -> #63 (0x120000 -> 0x13F000)
*** Processing block #64: Used - Cannot allocate (0x140000)
*** Processing block #65: Used - Cannot allocate (0x141000)
*** Processing block #66: Used - Cannot allocate (0x142000)
*** Processing block #67: Free - Allocation successfull at 0x143000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---O---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 0 - Split required
*** Buddy 1 has no free blocks
*** Buddy 2 has free blocks (1/20)
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Free
*** Splitting block #17 of buddy 2
*** Splitting block #34 of buddy 1
*** Allocating block #68 of buddy 0
*** Block #69 of buddy 0 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 0 has free blocks (1/81)
*** Skipping used blocks #0 -> #31 (0x100000 -> 0x11F000)
*** Skipping used blocks #32 -> #63 (0x120000 -> 0x13F000)
*** Processing block #64: Used - Cannot allocate (0x140000)
*** Processing block #65: Used - Cannot allocate (0x141000)
*** Processing block #66: Used - Cannot allocate (0x142000)
*** Processing block #67: Used - Cannot allocate (0x143000)
*** Processing block #68: Used - Cannot allocate (0x144000)
*** Processing block #69: Free - Allocation successfull at 0x145000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 0 - Split required
*** Buddy 1 has free blocks (1/40)
*** Skipping used blocks #0 -> #31
*** Processing block #1: Used - Cannot split
*** Processing block #1: Used - Cannot split
*** Processing block #1: Used - Cannot split
*** Processing block #1: Free
*** Splitting block #35 of buddy 1
*** Allocating block #70 of buddy 0
*** Block #71 of buddy 0 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 0 has free blocks (1/81)
*** Skipping used blocks #0 -> #31 (0x100000 -> 0x11F000)
*** Skipping used blocks #32 -> #63 (0x120000 -> 0x13F000)
*** Processing block #64: Used - Cannot allocate (0x140000)
*** Processing block #65: Used - Cannot allocate (0x141000)
*** Processing block #66: Used - Cannot allocate (0x142000)
*** Processing block #67: Used - Cannot allocate (0x143000)
*** Processing block #68: Used - Cannot allocate (0x144000)
*** Processing block #69: Used - Cannot allocate (0x145000)
*** Processing block #70: Used - Cannot allocate (0x146000)
*** Processing block #71: Free - Allocation successfull at 0x147000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------O-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 1 pages requested - 1 pages will be allocated
Buddy order: 0
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 0 - Split required
*** Buddy 1 has no free blocks
*** Buddy 2 has no free blocks
*** Buddy 3 has free blocks (1/10)
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Used - Cannot split
*** Processing block #3: Free
*** Splitting block #9 of buddy 3
*** Splitting block #18 of buddy 2
*** Splitting block #36 of buddy 1
*** Allocating block #72 of buddy 0
*** Block #73 of buddy 0 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---O---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 2 pages requested - 2 pages will be allocated
Buddy order: 1
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 1 has free blocks (1/40)
*** Skipping used blocks #0 -> #31 (0x100000 -> 0x11F000)
*** Processing block #32: Used - Cannot allocate (0x120000)
*** Processing block #33: Used - Cannot allocate (0x121000)
*** Processing block #34: Used - Cannot allocate (0x122000)
*** Processing block #35: Used - Cannot allocate (0x123000)
*** Processing block #36: Used - Cannot allocate (0x124000)
*** Processing block #37: Free - Allocation successfull at 0x125000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---O---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 2 pages requested - 2 pages will be allocated
Buddy order: 1
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 1 - Split required
*** Buddy 2 has free blocks (1/20)
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Used - Cannot split
*** Processing block #2: Free
*** Splitting block #19 of buddy 2
*** Allocating block #38 of buddy 1
*** Block #39 of buddy 1 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: O---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 12 pages requested - 16 pages will be allocated
Buddy order: 4
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 4 - Split required
*** Buddy 5 has no free blocks
*** Buddy 6 has free blocks (1/1)
*** Processing block #6: Free
*** Splitting block #0 of buddy 6
*** Splitting block #0 of buddy 5
*** Allocating block #0 of buddy 4
*** Block #1 of buddy 4 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------O---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------O-------------------------------
Buddy 6: X---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 12 pages requested - 16 pages will be allocated
Buddy order: 4
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** Buddy 4 has free blocks (1/5)
*** Processing block #0: Used - Cannot allocate (0x100000)
*** Processing block #1: Free - Allocation successfull at 0x101000
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------X---------------X---------------
Buddy 5: X-------------------------------O-------------------------------
Buddy 6: X---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
Allocating pages: 12 pages requested - 16 pages will be allocated
Buddy order: 4
Processing memory zone 1: unusable memory zone
Processing memory zone 2: unusable memory zone
Processing memory zone 3: unusable memory zone
Processing memory zone 4: usable memory zone
*** No free block in buddy 4 - Split required
*** Buddy 5 has free blocks (1/2)
*** Processing block #5: Used - Cannot split
*** Processing block #5: Free
*** Splitting block #1 of buddy 5
*** Allocating block #2 of buddy 4
*** Block #3 of buddy 4 is now free
--------------------------------------------------------------------------------
DEBUG - Buddies for memory zone 4:
Buddy 0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXX
Buddy 1: X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-O-
Buddy 2: X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---X---
Buddy 3: X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------
Buddy 4: X---------------X---------------X---------------O---------------X---------------
Buddy 5: X-------------------------------X-------------------------------
Buddy 6: X---------------------------------------------------------------
Buddy 7:
Buddy 8:
Buddy 9:
--------------------------------------------------------------------------------
P1: 0x150000
P2: 0x140000
P3: 0x141000
P4: 0x142000
P5: 0x143000
P6: 0x144000
P7: 0x145000
P8: 0x146000
P9: 0x147000
P10: 0x148000
P11: 0x125000
P12: 0x126000
P12: 0x102000
--------------------------------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment