---
name: "unlock_page"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/unlock_page"
---

# unlock\_page(9)

unlock a locked page

## NAME

unlock\_page - unlock a locked page

## SYNOPSIS

**void unlock\_page(struct page \*** *page***);**

## ARGUMENTS

*page*

the page

## DESCRIPTION

Unlocks the page and wakes up sleepers in **\_\_\_wait\_on\_page\_locked**. Also wakes sleepers in **wait\_on\_page\_writeback** because the wakeup mechanism between PageLocked pages and PageWriteback pages is shared. But that's OK - sleepers in **wait\_on\_page\_writeback** just go back to sleep.

The mb is necessary to enforce ordering between the clear\_bit and the read of the waitqueue (to avoid SMP races with a parallel **wait\_on\_page\_locked**).

## COPYRIGHT
