On Tue, Mar 26, 2013 at 05:31:51PM +0530, Aneesh Kumar K.V wrote:
> Naoya Horiguchi <[email protected]> writes:
> 
> > +/* Returns true for head pages of in-use hugepages, otherwise returns 
> > false. */
> > +bool is_hugepage_movable(struct page *hpage)
> > +{
> > +   struct page *page;
> > +   struct hstate *h;
> > +   bool ret = false;
> > +
> > +   VM_BUG_ON(!PageHuge(hpage));
> > +   /*
> > +    * This function can be called for a tail page because memory hotplug
> > +    * scans movability of pages by pfn range of a memory block.
> > +    * Larger hugepages (1GB for x86_64) are larger than memory block, so
> > +    * the scan can start at the tail page of larger hugepages.
> > +    * 1GB hugepage is not movable now, so we return with false for now.
> > +    */
> > +   if (PageTail(hpage))
> > +           return false;
> > +   h = page_hstate(hpage);
> > +   spin_lock(&hugetlb_lock);
> > +   list_for_each_entry(page, &h->hugepage_activelist, lru)
> > +           if (page == hpage) {
> > +                   ret = true;
> > +                   break;
> > +           }
> > +   spin_unlock(&hugetlb_lock);
> > +   return ret;
> > +}
> > +
> 
> May be is_hugepage_active() ?

Yes, it would be nice.

Thanks,
Naoya
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to