mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
vmscan: change shrinker API by passing shrink_control struct
Change each shrinker's API by consolidating the existing parameters into shrink_control struct. This will simplify any further features added w/o touching each file of shrinker. [[email protected]: fix build] [[email protected]: fix warning] [[email protected]: fix up new shrinker API] [[email protected]: fix xfs warning] [[email protected]: update gfs2] Signed-off-by: Ying Han <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Cc: Minchan Kim <[email protected]> Acked-by: Pavel Emelyanov <[email protected]> Cc: KAMEZAWA Hiroyuki <[email protected]> Cc: Mel Gorman <[email protected]> Acked-by: Rik van Riel <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Dave Hansen <[email protected]> Cc: Steven Whitehouse <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
a09ed5e000
commit
1495f230fa
21 changed files with 95 additions and 61 deletions
|
|
@ -56,9 +56,7 @@ static int i915_gem_phys_pwrite(struct drm_device *dev,
|
|||
static void i915_gem_free_object_tail(struct drm_i915_gem_object *obj);
|
||||
|
||||
static int i915_gem_inactive_shrink(struct shrinker *shrinker,
|
||||
int nr_to_scan,
|
||||
gfp_t gfp_mask);
|
||||
|
||||
struct shrink_control *sc);
|
||||
|
||||
/* some bookkeeping */
|
||||
static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv,
|
||||
|
|
@ -4092,9 +4090,7 @@ i915_gpu_is_active(struct drm_device *dev)
|
|||
}
|
||||
|
||||
static int
|
||||
i915_gem_inactive_shrink(struct shrinker *shrinker,
|
||||
int nr_to_scan,
|
||||
gfp_t gfp_mask)
|
||||
i915_gem_inactive_shrink(struct shrinker *shrinker, struct shrink_control *sc)
|
||||
{
|
||||
struct drm_i915_private *dev_priv =
|
||||
container_of(shrinker,
|
||||
|
|
@ -4102,6 +4098,7 @@ i915_gem_inactive_shrink(struct shrinker *shrinker,
|
|||
mm.inactive_shrinker);
|
||||
struct drm_device *dev = dev_priv->dev;
|
||||
struct drm_i915_gem_object *obj, *next;
|
||||
int nr_to_scan = sc->nr_to_scan;
|
||||
int cnt;
|
||||
|
||||
if (!mutex_trylock(&dev->struct_mutex))
|
||||
|
|
|
|||
|
|
@ -395,12 +395,14 @@ static int ttm_pool_get_num_unused_pages(void)
|
|||
/**
|
||||
* Callback for mm to request pool to reduce number of page held.
|
||||
*/
|
||||
static int ttm_pool_mm_shrink(struct shrinker *shrink, int shrink_pages, gfp_t gfp_mask)
|
||||
static int ttm_pool_mm_shrink(struct shrinker *shrink,
|
||||
struct shrink_control *sc)
|
||||
{
|
||||
static atomic_t start_pool = ATOMIC_INIT(0);
|
||||
unsigned i;
|
||||
unsigned pool_offset = atomic_add_return(1, &start_pool);
|
||||
struct ttm_page_pool *pool;
|
||||
int shrink_pages = sc->nr_to_scan;
|
||||
|
||||
pool_offset = pool_offset % NUM_POOLS;
|
||||
/* select start pool in round robin fashion */
|
||||
|
|
|
|||
Loading…
Reference in a new issue