__lock_page
Prev | More Memory Management Functions | Next

## 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.

Prev | Up | Next
end_page_writeback | Home | find_get_page