Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1522501

[V2] android: binder: use VM_ALLOC to get vm area

From Ganesh Mahendran <opensource.ganesh@gmail.com>
Newsgroups linux.kernel
Subject [V2] android: binder: use VM_ALLOC to get vm area
Date 2016-11-15 11:00 +0100
Message-ID <sDIH0-3dJ-7@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


VM_IOREMAP is used to access hardware through a mechanism called
I/O mapped memory. Android binder is a IPC machanism which will
not access I/O memory.

Also VM_IOREMAP has alignment requiement which may not needed in
binder.
    __get_vm_area_node()
    {
    ...
        if (flags & VM_IOREMAP)
            align = 1ul << clamp_t(int, fls_long(size),
               PAGE_SHIFT, IOREMAP_MAX_ORDER);
    ...
    }

This patch use VM_ALLOC to get vm area.

Below is the throughput test result:

  # ./binderThroughputTest -w 100
  I run this command 10 times:
                               before    after
  average iterations per sec:  11199.9   11886.9

No performance regression found throgh binder test.

Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
---
 drivers/android/binder.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 3c71b98..b5908ec 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -2901,7 +2901,7 @@ static int binder_mmap(struct file *filp, struct vm_area_struct *vma)
 		goto err_already_mapped;
 	}
 
-	area = get_vm_area(vma->vm_end - vma->vm_start, VM_IOREMAP);
+	area = get_vm_area(vma->vm_end - vma->vm_start, VM_ALLOC);
 	if (area == NULL) {
 		ret = -ENOMEM;
 		failure_string = "get_vm_area";
-- 
1.9.1

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[V2] android: binder: use VM_ALLOC to get vm area Ganesh Mahendran <opensource.ganesh@gmail.com> - 2016-11-15 11:00 +0100
  Re: [V2] android: binder: use VM_ALLOC to get vm area Greg KH <gregkh@linuxfoundation.org> - 2016-11-15 11:20 +0100
    Re: [V2] android: binder: use VM_ALLOC to get vm area Ganesh Mahendran <opensource.ganesh@gmail.com> - 2016-11-15 14:20 +0100

csiph-web