Re: [PATCH v6] mm: support madvise(MADV_FREE)

From: Rik van Riel
Date: Thu May 15 2014 - 12:10:47 EST


On 05/15/2014 11:46 AM, Johannes Weiner wrote:

diff --git a/include/linux/mm.h b/include/linux/mm.h
index bf9811e1321a..c69594c141a9 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1082,6 +1082,8 @@ int zap_vma_ptes(struct vm_area_struct *vma, unsigned long address,
unsigned long size);
void zap_page_range(struct vm_area_struct *vma, unsigned long address,
unsigned long size, struct zap_details *);
+int lazyfree_single_vma(struct vm_area_struct *vma, unsigned long start_addr,
+ unsigned long end_addr);

madvise_free_single_vma?

Or just madvise_free_vma ?

@@ -251,6 +252,14 @@ static long madvise_willneed(struct vm_area_struct *vma,
return 0;
}

+static long madvise_lazyfree(struct vm_area_struct *vma,

madvise_free?

Agreed.

It is encouraging that the review has reached nit picking
level :)

diff --git a/mm/memory.c b/mm/memory.c
index 037b812a9531..0516c94da1a4 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1284,6 +1284,112 @@ static inline unsigned long zap_pud_range(struct mmu_gather *tlb,
return addr;
}

+static unsigned long lazyfree_pte_range(struct mmu_gather *tlb,

I'd prefer to have all this code directly where it's used, which is in
madvise.c, and also be named accordingly. We can always rename and
move it later on should other code want to reuse it.

Agreed.

I like your other suggestions too, Johannes.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/