Lines Matching refs:last_chunks
104 * @last_chunks: the size of the last buddy in chunks, 0 if free
118 unsigned short last_chunks;
388 h |= (zhdr->last_chunks << BUDDY_SHIFT);
528 int nfree_after = zhdr->last_chunks ?
533 nfree = NCHUNKS - zhdr->first_chunks - zhdr->last_chunks;
541 if (zhdr->first_chunks == 0 || zhdr->last_chunks == 0 ||
564 else if (!zhdr->last_chunks)
569 else if (!zhdr->last_chunks)
590 (zhdr->first_chunks && zhdr->last_chunks) ||
591 (zhdr->middle_chunks && zhdr->last_chunks));
620 } else if (zhdr->last_chunks && zhdr->slots->slot[last_idx]) {
621 p += PAGE_SIZE - (zhdr->last_chunks << CHUNK_SHIFT);
622 sz = zhdr->last_chunks << CHUNK_SHIFT;
624 moved_chunks = &zhdr->last_chunks;
653 new_zhdr->last_chunks = chunks;
654 q += PAGE_SIZE - (new_zhdr->last_chunks << CHUNK_SHIFT);
666 (new_zhdr->last_chunks << BUDDY_SHIFT);
700 if (zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
714 if (zhdr->first_chunks != 0 && zhdr->last_chunks == 0 &&
720 } else if (zhdr->last_chunks != 0 && zhdr->first_chunks == 0 &&
721 TOTAL_CHUNKS - (zhdr->last_chunks + zhdr->start_middle
724 unsigned short new_start = TOTAL_CHUNKS - zhdr->last_chunks -
1065 zhdr->last_chunks = chunks;
1089 * only sets the first|middle|last_chunks to 0. The page is actually freed
1128 zhdr->last_chunks = 0;
1327 if (new_zhdr->last_chunks)