__LOCK_PAGE

Section: Memory Management in Linux (9)
Updated: February 2011
Index Return to Main Contents
 

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.  

COPYRIGHT