__LOCK_PAGE(9) Memory Management in Linux __LOCK_PAGE(9)NAME__lock_page - get a lock on the page, assuming we need to sleep to get
it
SYNOPSIS
void __lock_page(struct page * page);
ARGUMENTS
page
the page to lock
DESCRIPTION
Ugly. Running sync_page in state TASK_UNINTERRUPTIBLE is scary. If some
random driver´s requestfn sets TASK_RUNNING, we could busywait. However
chances are that on the second loop, the block layer´s plug list is
empty, so sync_page will then return in state TASK_UNINTERRUPTIBLE.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 __LOCK_PAGE(9)