 "",     ,    
      (, ) .
      -   
,      ,    
  .  . 11.2    -
   .

 11.2.    

                            

alloc_page (gfp_mask)                    -
     page

alioc_pages (gfp_mask, order)        2rder     -
   page  

_get_free_page (gfp_mask)              -
    

_get_free_pages (gfp_mask, order)    2rder     -
     

get__zeroed_page (gfp_mask)            ,   -
       

 

  ,    ,   -
 .

void   free pages(struct page *page, unsigned int order)
void free_pages(unsigned long addr, unsigned int order)
void free page(unsigned long addr)

        , -
  .     page, addr 
order     .  ,    .
    ,    ,   -
.  .    8  .

page = _get_free_pages (GFP_KERNEL, 3) ;

if (!page){

/*  :     ! */

return -ENOMEM;

}


/*  'page'        */

free_pages(page, 3) ;

/*

*         

*   ,     'page'

*/

                                                           239