diff options
author | NeilBrown <neilb@suse.de> | 2014-09-23 21:28:32 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-09-25 08:25:09 -0400 |
commit | a4796e37c12e177572b80864cbab9c907ea250b0 (patch) | |
tree | 0b268cf842c4b2531f408ff35559f0135bf32df6 /mm | |
parent | cbbce82209490df8b68da9aec0d642451fe0a668 (diff) |
MM: export page_wakeup functions
This will allow NFS to wait for PG_private to be cleared and,
particularly, to send a wake-up when it is.
Signed-off-by: NeilBrown <neilb@suse.de>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index cbe5a9013f70..b9b1413080be 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -670,17 +670,13 @@ EXPORT_SYMBOL(__page_cache_alloc); | |||
670 | * at a cost of "thundering herd" phenomena during rare hash | 670 | * at a cost of "thundering herd" phenomena during rare hash |
671 | * collisions. | 671 | * collisions. |
672 | */ | 672 | */ |
673 | static wait_queue_head_t *page_waitqueue(struct page *page) | 673 | wait_queue_head_t *page_waitqueue(struct page *page) |
674 | { | 674 | { |
675 | const struct zone *zone = page_zone(page); | 675 | const struct zone *zone = page_zone(page); |
676 | 676 | ||
677 | return &zone->wait_table[hash_ptr(page, zone->wait_table_bits)]; | 677 | return &zone->wait_table[hash_ptr(page, zone->wait_table_bits)]; |
678 | } | 678 | } |
679 | 679 | EXPORT_SYMBOL(page_waitqueue); | |
680 | static inline void wake_up_page(struct page *page, int bit) | ||
681 | { | ||
682 | __wake_up_bit(page_waitqueue(page), &page->flags, bit); | ||
683 | } | ||
684 | 680 | ||
685 | void wait_on_page_bit(struct page *page, int bit_nr) | 681 | void wait_on_page_bit(struct page *page, int bit_nr) |
686 | { | 682 | { |