]> git.hungrycats.org Git - linux/commitdiff
Staging: android: binder: Allow using highmem for binder buffers
authorArve Hjønnevåg <arve@android.com>
Tue, 16 Oct 2012 22:29:55 +0000 (15:29 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Oct 2012 17:02:58 +0000 (10:02 -0700)
commit 585650dcec88e704a19bb226a34b6a7166111623 upstream.

The default kernel mapping for the pages allocated for the binder
buffers is never used. Set the __GFP_HIGHMEM flag when allocating
these pages so we don't needlessly use low memory pages that may
be required elsewhere.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/binder.c

index 80acd0e6a57ca03d3fea1525d272735af53825ee..223639a73b0ac366895fdf10968acdddfa5a6e0a 100644 (file)
@@ -655,7 +655,7 @@ static int binder_update_page_range(struct binder_proc *proc, int allocate,
                page = &proc->pages[(page_addr - proc->buffer) / PAGE_SIZE];
 
                BUG_ON(*page);
-               *page = alloc_page(GFP_KERNEL | __GFP_ZERO);
+               *page = alloc_page(GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO);
                if (*page == NULL) {
                        printk(KERN_ERR "binder: %d: binder_alloc_buf failed "
                               "for page at %p\n", proc->pid, page_addr);