linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ganesh Mahendran <opensource.ganesh@gmail.com>
To: "Arve Hjønnevåg" <arve@android.com>
Cc: Greg KH <gregkh@linuxfoundation.org>,
	Riley Andrews <riandrews@android.com>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] android: binder: use VM_ALLOC to get vm area.
Date: Tue, 6 Sep 2016 10:42:06 +0800	[thread overview]
Message-ID: <CADAEsF8Nx0eFUQDnUskbLd2gmOqf70v+vHgCH9RCk+WDyZXzyg@mail.gmail.com> (raw)
In-Reply-To: <CAMP5Xgd0679aC1o+b1ccTS2SNDfw6JThnTMi91u4c6ikRmEATg@mail.gmail.com>

2016-09-02 3:59 GMT+08:00 Arve Hjønnevåg <arve@android.com>:
> On Thu, Sep 1, 2016 at 12:02 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
>> On Thu, Sep 01, 2016 at 02:41:04PM +0800, Ganesh Mahendran wrote:
>>> 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.
>>>
>>> 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 16288e7..3511d5c 100644
>>> --- a/drivers/android/binder.c
>>> +++ b/drivers/android/binder.c
>>> @@ -2885,7 +2885,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";
>>
>> What change have you noticed with this patch?  Have you tested it?
>> Found that previously reserved iomemory is now free for binder to use
>> where it wasn't?  What kind of change does the system now run as because
>> of this?
>>
>> And are you _sure_ the alignment requirement isn't needed for binder?
>> Have you verified this with the userspace binder library?
>>
>> This is messy, tricky, stuff, I'm loath to change it without loads of
>> testing having happened...
>>
>> thanks,
>>
>> greg k-h
>
> There is no alignment requirement on this area unless
> cache_is_vipt_aliasing returns true. In that case the area needs to be
> aligned with vma->vm_start which is done manually in the code right
> after this allocation. If there are no other side effects of changing
> this flag this change should be safe, but please run all the tests at
> https://android.googlesource.com/platform/frameworks/native/+/master/libs/binder/tests/
> to test it.

Thanks for your suggestion.
I only did some android app performance test. I will do more binder test.

Thanks.

>
> --
> Arve Hjønnevåg

  reply	other threads:[~2016-09-06  2:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-01  6:41 [PATCH] android: binder: use VM_ALLOC to get vm area Ganesh Mahendran
2016-09-01 19:02 ` Greg KH
2016-09-01 19:59   ` Arve Hjønnevåg
2016-09-06  2:42     ` Ganesh Mahendran [this message]
2016-09-06  2:40   ` Ganesh Mahendran

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADAEsF8Nx0eFUQDnUskbLd2gmOqf70v+vHgCH9RCk+WDyZXzyg@mail.gmail.com \
    --to=opensource.ganesh@gmail.com \
    --cc=arve@android.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riandrews@android.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).