Hi, Todd: 2018-01-23 1:02 GMT+08:00 Todd Kjos <tk...@google.com>: > On Mon, Jan 22, 2018 at 7:54 AM, Greg KH <gre...@linuxfoundation.org> wrote: >> On Wed, Jan 10, 2018 at 10:49:05AM +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. >>> >>> And 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 will save some kernel vm area, especially for 32bit os. >>> >>> In 32bit OS, kernel vm area is only 240MB. We may got below >>> error when launching a app: >>> >>> <3>[ 4482.440053] binder_alloc: binder_alloc_mmap_handler: 15728 >>> 8ce67000-8cf65000 get_vm_area failed -12 >>> <3>[ 4483.218817] binder_alloc: binder_alloc_mmap_handler: 15745 >>> 8ce67000-8cf65000 get_vm_area failed -12 >>> >>> Signed-off-by: Ganesh Mahendran <opensource.gan...@gmail.com> >>> ---- >>> V3: update comments >>> V2: update comments >>> --- >>> drivers/android/binder_alloc.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> Martijn and Todd, any objections to this patch? > > Looks fine to me. Arve, do you remember the rationale for using VM_IOREMAP?
Thanks for your review. > >> >> thanks, >> >> greg k-h