X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/489fcbc119f6ae46efc8f4077cbb5aa43683e404..0e1309c02f0703c050df09b71346dab60fc6df87:/lunaix-os/kernel/mm/cake.c?ds=inline diff --git a/lunaix-os/kernel/mm/cake.c b/lunaix-os/kernel/mm/cake.c index f6e4340..a64b3ea 100644 --- a/lunaix-os/kernel/mm/cake.c +++ b/lunaix-os/kernel/mm/cake.c @@ -76,10 +76,10 @@ __init_pile(struct cake_pile* pile, (piece_size + sizeof(piece_index_t)), .pg_per_cake = pg_per_cake }; - unsigned int overhead_size = - sizeof(struct cake_s) + pile->pieces_per_cake * sizeof(piece_index_t); + unsigned int free_list_size = pile->pieces_per_cake * sizeof(piece_index_t); - pile->offset = ROUNDUP(overhead_size, offset); + pile->offset = ROUNDUP(sizeof(struct cake_s) + free_list_size, offset); + pile->pieces_per_cake -= ICEIL((pile->offset - free_list_size), piece_size); strncpy(&pile->pile_name, name, PILE_NAME_MAXLEN);