projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SCSI] lpfc: minor syntax fixes
[powerpc.git]
/
mm
/
swap_state.c
diff --git
a/mm/swap_state.c
b/mm/swap_state.c
index
0df9a57
..
db8a3d3
100644
(file)
--- a/
mm/swap_state.c
+++ b/
mm/swap_state.c
@@
-14,6
+14,7
@@
#include <linux/pagemap.h>
#include <linux/buffer_head.h>
#include <linux/backing-dev.h>
#include <linux/pagemap.h>
#include <linux/buffer_head.h>
#include <linux/backing-dev.h>
+#include <linux/pagevec.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
@@
-26,6
+27,7
@@
static struct address_space_operations swap_aops = {
.writepage = swap_writepage,
.sync_page = block_sync_page,
.set_page_dirty = __set_page_dirty_nobuffers,
.writepage = swap_writepage,
.sync_page = block_sync_page,
.set_page_dirty = __set_page_dirty_nobuffers,
+ .migratepage = migrate_page,
};
static struct backing_dev_info swap_backing_dev_info = {
};
static struct backing_dev_info swap_backing_dev_info = {
@@
-140,7
+142,7
@@
void __delete_from_swap_cache(struct page *page)
* Allocate swap space for the page and add the page to the
* swap cache. Caller needs to hold the page lock.
*/
* Allocate swap space for the page and add the page to the
* swap cache. Caller needs to hold the page lock.
*/
-int add_to_swap(struct page * page)
+int add_to_swap(struct page * page
, gfp_t gfp_mask
)
{
swp_entry_t entry;
int err;
{
swp_entry_t entry;
int err;
@@
-165,7
+167,7
@@
int add_to_swap(struct page * page)
* Add it to the swap cache and mark it dirty
*/
err = __add_to_swap_cache(page, entry,
* Add it to the swap cache and mark it dirty
*/
err = __add_to_swap_cache(page, entry,
-
GFP_ATOMIC
|__GFP_NOMEMALLOC|__GFP_NOWARN);
+
gfp_mask
|__GFP_NOMEMALLOC|__GFP_NOWARN);
switch (err) {
case 0: /* Success */
switch (err) {
case 0: /* Success */
@@
-272,12
+274,11
@@
void free_page_and_swap_cache(struct page *page)
*/
void free_pages_and_swap_cache(struct page **pages, int nr)
{
*/
void free_pages_and_swap_cache(struct page **pages, int nr)
{
- int chunk = 16;
struct page **pagep = pages;
lru_add_drain();
while (nr) {
struct page **pagep = pages;
lru_add_drain();
while (nr) {
- int todo = min(
chunk, nr
);
+ int todo = min(
nr, PAGEVEC_SIZE
);
int i;
for (i = 0; i < todo; i++)
int i;
for (i = 0; i < todo; i++)