home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / page-isolation.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.0 KB  |  38 lines

  1. #ifndef __LINUX_PAGEISOLATION_H
  2. #define __LINUX_PAGEISOLATION_H
  3.  
  4. /*
  5.  * Changes migrate type in [start_pfn, end_pfn) to be MIGRATE_ISOLATE.
  6.  * If specified range includes migrate types other than MOVABLE,
  7.  * this will fail with -EBUSY.
  8.  *
  9.  * For isolating all pages in the range finally, the caller have to
  10.  * free all pages in the range. test_page_isolated() can be used for
  11.  * test it.
  12.  */
  13. extern int
  14. start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn);
  15.  
  16. /*
  17.  * Changes MIGRATE_ISOLATE to MIGRATE_MOVABLE.
  18.  * target range is [start_pfn, end_pfn)
  19.  */
  20. extern int
  21. undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn);
  22.  
  23. /*
  24.  * test all pages in [start_pfn, end_pfn)are isolated or not.
  25.  */
  26. extern int
  27. test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn);
  28.  
  29. /*
  30.  * Internal funcs.Changes pageblock's migrate type.
  31.  * Please use make_pagetype_isolated()/make_pagetype_movable().
  32.  */
  33. extern int set_migratetype_isolate(struct page *page);
  34. extern void unset_migratetype_isolate(struct page *page);
  35.  
  36.  
  37. #endif
  38.