Skip to content

Commit

Permalink
mm: remove free_unmap_vmap_area_noflush()
Browse files Browse the repository at this point in the history
Patch series "reduce latency in __purge_vmap_area_lazy", v2.

This patch (of 10):

Sort out the long lock hold times in __purge_vmap_area_lazy.  It is
based on a patch from Joel.

Inline free_unmap_vmap_area_noflush() it into the only caller.

Link: http://lkml.kernel.org/r/1479474236-4139-2-git-send-email-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Jisheng Zhang <jszhang@marvell.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Joel Fernandes <joelaf@google.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: John Dias <joaodias@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Christoph Hellwig authored and torvalds committed Dec 13, 2016
1 parent b538899 commit c8eef01
Showing 1 changed file with 2 additions and 11 deletions.
13 changes: 2 additions & 11 deletions mm/vmalloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -710,23 +710,14 @@ static void free_vmap_area_noflush(struct vmap_area *va)
try_purge_vmap_area_lazy();
}

/*
* Free and unmap a vmap area, caller ensuring flush_cache_vunmap had been
* called for the correct range previously.
*/
static void free_unmap_vmap_area_noflush(struct vmap_area *va)
{
unmap_vmap_area(va);
free_vmap_area_noflush(va);
}

/*
* Free and unmap a vmap area
*/
static void free_unmap_vmap_area(struct vmap_area *va)
{
flush_cache_vunmap(va->va_start, va->va_end);
free_unmap_vmap_area_noflush(va);
unmap_vmap_area(va);
free_vmap_area_noflush(va);
}

static struct vmap_area *find_vmap_area(unsigned long addr)
Expand Down

0 comments on commit c8eef01

Please sign in to comment.