On Tue, Nov 10, 2015 at 05:41:08AM +0800, Chen Gang wrote:
> From 7050c267d8dda220226067039d815593d2f9a874 Mon Sep 17 00:00:00 2001
> From: Chen Gang <[email protected]>
> Date: Tue, 10 Nov 2015 05:32:38 +0800
> Subject: [PATCH] mm/mmap.c: Remove redundant local variables for may_expand_vm()
>
> After merge the related code into one line, the code is still simple and
> meaningful enough.
>
> Signed-off-by: Chen Gang <[email protected]>
I agree that this function can be cleaned up.
> ---
> mm/mmap.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2ce04a6..a515260 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -2988,12 +2988,7 @@ out:
> */
> int may_expand_vm(struct mm_struct *mm, unsigned long npages)
marking inline?
> {
> - unsigned long cur = mm->total_vm; /* pages */
> - unsigned long lim;
> -
> - lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT;
> -
> - if (cur + npages > lim)
> + if (mm->total_vm + npages > (rlimit(RLIMIT_AS) >> PAGE_SHIFT))
> return 0;
> return 1;
How about doing simply
return mm->total_vm + npages <= (rlimit(RLIMIT_AS) >> PAGE_SHIFT);
? These changes save some bytes :)
text data bss dec hex filename
20566 2250 40 22856 5948 mm/mmap.o (before)
text data bss dec hex filename
20542 2250 40 22832 5930 mm/mmap.o (after)
Thanks,
Naoya Horiguchi-