Commit c6f92f9f authored by Mel Gorman's avatar Mel Gorman Committed by Linus Torvalds

mm: remove cold parameter for release_pages

All callers of release_pages claim the pages being released are cache
hot.  As no one cares about the hotness of pages being released to the
allocator, just ditch the parameter.

No performance impact is expected as the overhead is marginal.  The
parameter is removed simply because it is a bit stupid to have a useless
parameter copied everywhere.

Link: http://lkml.kernel.org/r/20171018075952.10627-7-mgorman@techsingularity.netSigned-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 86679820
...@@ -553,8 +553,7 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p, ...@@ -553,8 +553,7 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,
* invalidated it. Free it and try again * invalidated it. Free it and try again
*/ */
release_pages(e->user_pages, release_pages(e->user_pages,
e->robj->tbo.ttm->num_pages, e->robj->tbo.ttm->num_pages);
false);
kvfree(e->user_pages); kvfree(e->user_pages);
e->user_pages = NULL; e->user_pages = NULL;
} }
...@@ -691,8 +690,7 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p, ...@@ -691,8 +690,7 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,
continue; continue;
release_pages(e->user_pages, release_pages(e->user_pages,
e->robj->tbo.ttm->num_pages, e->robj->tbo.ttm->num_pages);
false);
kvfree(e->user_pages); kvfree(e->user_pages);
} }
} }
......
...@@ -347,7 +347,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data, ...@@ -347,7 +347,7 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
return 0; return 0;
free_pages: free_pages:
release_pages(bo->tbo.ttm->pages, bo->tbo.ttm->num_pages, false); release_pages(bo->tbo.ttm->pages, bo->tbo.ttm->num_pages);
unlock_mmap_sem: unlock_mmap_sem:
up_read(&current->mm->mmap_sem); up_read(&current->mm->mmap_sem);
......
...@@ -659,7 +659,7 @@ int amdgpu_ttm_tt_get_user_pages(struct ttm_tt *ttm, struct page **pages) ...@@ -659,7 +659,7 @@ int amdgpu_ttm_tt_get_user_pages(struct ttm_tt *ttm, struct page **pages)
return 0; return 0;
release_pages: release_pages:
release_pages(pages, pinned, 0); release_pages(pages, pinned);
return r; return r;
} }
......
...@@ -779,7 +779,7 @@ static struct page **etnaviv_gem_userptr_do_get_pages( ...@@ -779,7 +779,7 @@ static struct page **etnaviv_gem_userptr_do_get_pages(
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);
if (ret < 0) { if (ret < 0) {
release_pages(pvec, pinned, 0); release_pages(pvec, pinned);
kvfree(pvec); kvfree(pvec);
return ERR_PTR(ret); return ERR_PTR(ret);
} }
...@@ -852,7 +852,7 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj) ...@@ -852,7 +852,7 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj)
} }
} }
release_pages(pvec, pinned, 0); release_pages(pvec, pinned);
kvfree(pvec); kvfree(pvec);
work = kmalloc(sizeof(*work), GFP_KERNEL); work = kmalloc(sizeof(*work), GFP_KERNEL);
...@@ -886,7 +886,7 @@ static void etnaviv_gem_userptr_release(struct etnaviv_gem_object *etnaviv_obj) ...@@ -886,7 +886,7 @@ static void etnaviv_gem_userptr_release(struct etnaviv_gem_object *etnaviv_obj)
if (etnaviv_obj->pages) { if (etnaviv_obj->pages) {
int npages = etnaviv_obj->base.size >> PAGE_SHIFT; int npages = etnaviv_obj->base.size >> PAGE_SHIFT;
release_pages(etnaviv_obj->pages, npages, 0); release_pages(etnaviv_obj->pages, npages);
kvfree(etnaviv_obj->pages); kvfree(etnaviv_obj->pages);
} }
put_task_struct(etnaviv_obj->userptr.task); put_task_struct(etnaviv_obj->userptr.task);
......
...@@ -554,7 +554,7 @@ __i915_gem_userptr_get_pages_worker(struct work_struct *_work) ...@@ -554,7 +554,7 @@ __i915_gem_userptr_get_pages_worker(struct work_struct *_work)
} }
mutex_unlock(&obj->mm.lock); mutex_unlock(&obj->mm.lock);
release_pages(pvec, pinned, 0); release_pages(pvec, pinned);
kvfree(pvec); kvfree(pvec);
i915_gem_object_put(obj); i915_gem_object_put(obj);
...@@ -668,7 +668,7 @@ i915_gem_userptr_get_pages(struct drm_i915_gem_object *obj) ...@@ -668,7 +668,7 @@ i915_gem_userptr_get_pages(struct drm_i915_gem_object *obj)
__i915_gem_userptr_set_active(obj, true); __i915_gem_userptr_set_active(obj, true);
if (IS_ERR(pages)) if (IS_ERR(pages))
release_pages(pvec, pinned, 0); release_pages(pvec, pinned);
kvfree(pvec); kvfree(pvec);
return pages; return pages;
......
...@@ -597,7 +597,7 @@ static int radeon_ttm_tt_pin_userptr(struct ttm_tt *ttm) ...@@ -597,7 +597,7 @@ static int radeon_ttm_tt_pin_userptr(struct ttm_tt *ttm)
kfree(ttm->sg); kfree(ttm->sg);
release_pages: release_pages:
release_pages(ttm->pages, pinned, 0); release_pages(ttm->pages, pinned);
return r; return r;
} }
......
...@@ -1636,7 +1636,7 @@ static int fuse_notify_store(struct fuse_conn *fc, unsigned int size, ...@@ -1636,7 +1636,7 @@ static int fuse_notify_store(struct fuse_conn *fc, unsigned int size,
static void fuse_retrieve_end(struct fuse_conn *fc, struct fuse_req *req) static void fuse_retrieve_end(struct fuse_conn *fc, struct fuse_req *req)
{ {
release_pages(req->pages, req->num_pages, false); release_pages(req->pages, req->num_pages);
} }
static int fuse_retrieve(struct fuse_conn *fc, struct inode *inode, static int fuse_retrieve(struct fuse_conn *fc, struct inode *inode,
......
...@@ -118,7 +118,7 @@ static inline void mapping_set_gfp_mask(struct address_space *m, gfp_t mask) ...@@ -118,7 +118,7 @@ static inline void mapping_set_gfp_mask(struct address_space *m, gfp_t mask)
m->gfp_mask = mask; m->gfp_mask = mask;
} }
void release_pages(struct page **pages, int nr, bool cold); void release_pages(struct page **pages, int nr);
/* /*
* speculatively take a reference to a page. * speculatively take a reference to a page.
......
...@@ -510,7 +510,7 @@ static inline struct swap_info_struct *swp_swap_info(swp_entry_t entry) ...@@ -510,7 +510,7 @@ static inline struct swap_info_struct *swp_swap_info(swp_entry_t entry)
#define free_page_and_swap_cache(page) \ #define free_page_and_swap_cache(page) \
put_page(page) put_page(page)
#define free_pages_and_swap_cache(pages, nr) \ #define free_pages_and_swap_cache(pages, nr) \
release_pages((pages), (nr), false); release_pages((pages), (nr));
static inline void show_swap_cache_info(void) static inline void show_swap_cache_info(void)
{ {
......
...@@ -210,7 +210,7 @@ static void pagevec_lru_move_fn(struct pagevec *pvec, ...@@ -210,7 +210,7 @@ static void pagevec_lru_move_fn(struct pagevec *pvec,
} }
if (pgdat) if (pgdat)
spin_unlock_irqrestore(&pgdat->lru_lock, flags); spin_unlock_irqrestore(&pgdat->lru_lock, flags);
release_pages(pvec->pages, pvec->nr, 0); release_pages(pvec->pages, pvec->nr);
pagevec_reinit(pvec); pagevec_reinit(pvec);
} }
...@@ -740,7 +740,7 @@ void lru_add_drain_all(void) ...@@ -740,7 +740,7 @@ void lru_add_drain_all(void)
* Decrement the reference count on all the pages in @pages. If it * Decrement the reference count on all the pages in @pages. If it
* fell to zero, remove the page from the LRU and free it. * fell to zero, remove the page from the LRU and free it.
*/ */
void release_pages(struct page **pages, int nr, bool cold) void release_pages(struct page **pages, int nr)
{ {
int i; int i;
LIST_HEAD(pages_to_free); LIST_HEAD(pages_to_free);
...@@ -817,7 +817,7 @@ void release_pages(struct page **pages, int nr, bool cold) ...@@ -817,7 +817,7 @@ void release_pages(struct page **pages, int nr, bool cold)
spin_unlock_irqrestore(&locked_pgdat->lru_lock, flags); spin_unlock_irqrestore(&locked_pgdat->lru_lock, flags);
mem_cgroup_uncharge_list(&pages_to_free); mem_cgroup_uncharge_list(&pages_to_free);
free_hot_cold_page_list(&pages_to_free, cold); free_hot_cold_page_list(&pages_to_free, 0);
} }
EXPORT_SYMBOL(release_pages); EXPORT_SYMBOL(release_pages);
...@@ -837,7 +837,7 @@ void __pagevec_release(struct pagevec *pvec) ...@@ -837,7 +837,7 @@ void __pagevec_release(struct pagevec *pvec)
lru_add_drain(); lru_add_drain();
pvec->drained = true; pvec->drained = true;
} }
release_pages(pvec->pages, pagevec_count(pvec), 0); release_pages(pvec->pages, pagevec_count(pvec));
pagevec_reinit(pvec); pagevec_reinit(pvec);
} }
EXPORT_SYMBOL(__pagevec_release); EXPORT_SYMBOL(__pagevec_release);
......
...@@ -319,7 +319,7 @@ void free_pages_and_swap_cache(struct page **pages, int nr) ...@@ -319,7 +319,7 @@ void free_pages_and_swap_cache(struct page **pages, int nr)
lru_add_drain(); lru_add_drain();
for (i = 0; i < nr; i++) for (i = 0; i < nr; i++)
free_swap_cache(pagep[i]); free_swap_cache(pagep[i]);
release_pages(pagep, nr, false); release_pages(pagep, nr);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment