taglinefilesource code
order170include/linux/mm.hextern void free_pages(unsigned long addr, unsigned long order);
order73mm/kmalloc.cint order;
order121mm/kmalloc.c#define NBLOCKS(order)          (sizes[order].nblocks)
order122mm/kmalloc.c#define BLOCKSIZE(order)        (sizes[order].size)
order123mm/kmalloc.c#define AREASIZE(order)    (PAGE_SIZE<<(sizes[order].gfporder))
order128mm/kmalloc.cint order;
order134mm/kmalloc.cfor (order = 0;BLOCKSIZE(order);order++)
order136mm/kmalloc.cif ((NBLOCKS (order)*BLOCKSIZE(order) + sizeof (struct page_descriptor)) >
order137mm/kmalloc.cAREASIZE(order)) 
order140mm/kmalloc.c(int) (NBLOCKS (order) * BLOCKSIZE(order) + 
order142mm/kmalloc.c(int) AREASIZE(order),
order143mm/kmalloc.cBLOCKSIZE (order));
order154mm/kmalloc.cint order;
order158mm/kmalloc.cfor (order = 0;BLOCKSIZE(order);order++)
order159mm/kmalloc.cif (size <= BLOCKSIZE (order))
order160mm/kmalloc.creturn order; 
order167mm/kmalloc.cint order,tries,i,sz;
order185mm/kmalloc.corder = get_order (size);
order186mm/kmalloc.cif (order < 0)
order201mm/kmalloc.cif ((page = (dma_flag ? sizes[order].dmafree : sizes[order].firstfree)) &&
order210mm/kmalloc.csizes[order].firstfree = page->next;
order215mm/kmalloc.csizes [order].nmallocs++;
order216mm/kmalloc.csizes [order].nbytesmalloced += size;
order229mm/kmalloc.csz = BLOCKSIZE(order); /* sz is the size of the blocks we're dealing with */
order233mm/kmalloc.cpage = (struct page_descriptor *) __get_dma_pages (priority & GFP_LEVEL_MASK, sizes[order].gfporder);
order235mm/kmalloc.cpage = (struct page_descriptor *) __get_free_pages (priority & GFP_LEVEL_MASK, sizes[order].gfporder);
order248mm/kmalloc.csizes[order].npages++;
order251mm/kmalloc.cfor (i=NBLOCKS(order),p=BH (page+1);i > 1;i--,p=p->bh_next) 
order260mm/kmalloc.cpage->order = order;
order261mm/kmalloc.cpage->nfree = NBLOCKS(order); 
order273mm/kmalloc.cpage->next = sizes[order].firstfree;
order275mm/kmalloc.csizes[order].dmafree = page;
order277mm/kmalloc.csizes[order].firstfree = page;
order298mm/kmalloc.cint order;
order303mm/kmalloc.corder = page->order;
order304mm/kmalloc.cif ((order < 0) || 
order305mm/kmalloc.c(order > sizeof (sizes)/sizeof (sizes[0])) ||
order310mm/kmalloc.cp, page->next, page->order);
order337mm/kmalloc.cpage->next = sizes[order].firstfree;
order338mm/kmalloc.csizes[order].firstfree = page;
order343mm/kmalloc.cif (page->nfree == NBLOCKS (page->order))
order348mm/kmalloc.cif (sizes[order].firstfree == page)
order350mm/kmalloc.csizes[order].firstfree = page->next;
order352mm/kmalloc.celse if (sizes[order].dmafree == page)
order354mm/kmalloc.csizes[order].dmafree = page->next;
order358mm/kmalloc.cfor (pg2=sizes[order].firstfree;
order363mm/kmalloc.cfor (pg2=sizes[order].dmafree;
order373mm/kmalloc.cfree_pages ((long)page, sizes[order].gfporder);
order381mm/kmalloc.csizes[order].nfrees++;      /* Noncritical (monitoring) admin stuff */
order382mm/kmalloc.csizes[order].nbytesmalloced -= size;
order568mm/swap.cstatic inline void free_pages_ok(unsigned long addr, unsigned long order)
order570mm/swap.cunsigned long index = MAP_NR(addr) >> (1 + order);
order571mm/swap.cunsigned long mask = PAGE_MASK << order;
order574mm/swap.cnr_free_pages += 1 << order;
order575mm/swap.cwhile (order < NR_MEM_LISTS-1) {
order576mm/swap.cif (!change_bit(index, free_area_map[order]))
order578mm/swap.cremove_mem_queue(free_area_list+order, (struct mem_list *) (addr ^ (1+~mask)));
order579mm/swap.corder++;
order584mm/swap.cadd_mem_queue(free_area_list+order, (struct mem_list *) addr);
order602mm/swap.cvoid free_pages(unsigned long addr, unsigned long order)
order612mm/swap.cfree_pages_ok(addr, order);
order630mm/swap.c#define RMQUEUE(order) \
order631mm/swap.cdo { struct mem_list * queue = free_area_list+order; \
order632mm/swap.cunsigned long new_order = order; \
order637mm/swap.cnr_free_pages -= 1 << order; \
order639mm/swap.cEXPAND(next, order, new_order); \
order645mm/swap.cstatic inline int mark_used(unsigned long addr, unsigned long order)
order647mm/swap.creturn change_bit(MAP_NR(addr) >> (1+order), free_area_map[order]);
order661mm/swap.cunsigned long __get_free_pages(int priority, unsigned long order)
order681mm/swap.cRMQUEUE(order);
order694mm/swap.cunsigned long __get_dma_pages(int priority, unsigned long order)
order704mm/swap.cresult = __get_free_pages(priority, order);
order713mm/swap.cfree_pages(tmp, order);
order725mm/swap.cunsigned long order, flags;
order731mm/swap.cfor (order=0 ; order < NR_MEM_LISTS; order++) {
order734mm/swap.cfor (tmp = free_area_list[order].next ; tmp != free_area_list + order ; tmp = tmp->next) {
order737mm/swap.ctotal += nr * (4 << order);
order738mm/swap.cprintk("%lu*%ukB ", nr, 4 << order);