* HPG_restore_reserve - Set when a hugetlb page consumes a reservation at
  *     allocation time.  Cleared when page is fully instantiated.  Free
  *     routine checks flag to restore a reservation on error paths.
+ *     Synchronization:  Examined or modified by code that knows it has
+ *     the only reference to page.  i.e. After allocation but before use
+ *     or when the page is being freed.
  * HPG_migratable  - Set after a newly allocated page is added to the page
  *     cache and/or page tables.  Indicates the page is a candidate for
  *     migration.
+ *     Synchronization:  Initially set after new page allocation with no
+ *     locking.  When examined and modified during migration processing
+ *     (isolate, migrate, putback) the hugetlb_lock is held.
  * HPG_temporary - - Set on a page that is temporarily allocated from the buddy
  *     allocator.  Typically used for migration target pages when no pages
  *     are available in the pool.  The hugetlb free page path will
  *     immediately free pages with this flag set to the buddy allocator.
+ *     Synchronization: Can be set after huge page allocation from buddy when
+ *     code knows it has only reference.  All other examinations and
+ *     modifications require hugetlb_lock.
  * HPG_freed - Set when page is on the free lists.
+ *     Synchronization: hugetlb_lock held for examination and modification.
  */
 enum hugetlb_page_flags {
        HPG_restore_reserve = 0,