c
static inline void __free_pages(struct page *page, unsigned int order)
{
    if (pcp_allowed_order(order))        /* Via pcp? */
    {
        spin_lock(&page_lock); // Acquire lock before freeing
        if (!page->in_use) // Check if page is in use
        {
            free_unref_page(page, order);
        }
        spin_unlock(&page_lock); // Release lock
    }
}
