diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index befe80600e6a..8a265cc019f1 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -327,6 +327,12 @@ static void kgsl_destroy_ion(struct kgsl_dma_buf_meta *meta) } #endif +static void kgsl_process_sub_stats(struct kgsl_process_private *priv, + unsigned int type, uint64_t size) +{ + priv->stats[type].cur -= size; +} + void kgsl_mem_entry_destroy(struct kref *kref) { @@ -2599,6 +2605,16 @@ static long _gpuobj_map_dma_buf(struct kgsl_device *device, } #endif +static void kgsl_process_add_stats(struct kgsl_process_private *priv, + unsigned int type, uint64_t size) +{ + priv->stats[type].cur += size; + if (priv->stats[type].max < priv->stats[type].cur) + priv->stats[type].max = priv->stats[type].cur; +} + + + long kgsl_ioctl_gpuobj_import(struct kgsl_device_private *dev_priv, unsigned int cmd, void *data) { diff --git a/drivers/gpu/msm/kgsl_device.h b/drivers/gpu/msm/kgsl_device.h index d77ce8893431..6a83c0437ee2 100644 --- a/drivers/gpu/msm/kgsl_device.h +++ b/drivers/gpu/msm/kgsl_device.h @@ -526,39 +526,6 @@ struct kgsl_snapshot_object { struct kgsl_device *kgsl_get_device(int dev_idx); -static inline void kgsl_process_add_stats(struct kgsl_process_private *priv, - unsigned int type, uint64_t size) -{ - priv->stats[type].cur += size; - if (priv->stats[type].max < priv->stats[type].cur) - priv->stats[type].max = priv->stats[type].cur; - add_mm_counter(current->mm, MM_UNRECLAIMABLE, (size >> PAGE_SHIFT)); -} - -static inline void kgsl_process_sub_stats(struct kgsl_process_private *priv, - unsigned int type, uint64_t size) -{ - struct pid *pid_struct; - struct task_struct *task; - struct mm_struct *mm; - - priv->stats[type].cur -= size; - pid_struct = find_get_pid(priv->pid); - if (pid_struct) { - task = get_pid_task(pid_struct, PIDTYPE_PID); - if (task) { - mm = get_task_mm(task); - if (mm) { - add_mm_counter(mm, MM_UNRECLAIMABLE, - -(size >> PAGE_SHIFT)); - mmput(mm); - } - put_task_struct(task); - } - put_pid(pid_struct); - } -} - static inline bool kgsl_is_register_offset(struct kgsl_device *device, unsigned int offsetwords) { diff --git a/drivers/gpu/msm/kgsl_pool.c b/drivers/gpu/msm/kgsl_pool.c index c7b440f0f342..b4f16256efb7 100644 --- a/drivers/gpu/msm/kgsl_pool.c +++ b/drivers/gpu/msm/kgsl_pool.c @@ -421,8 +421,6 @@ done: pcount++; } - mod_node_page_state(page_pgdat(page), NR_UNRECLAIMABLE_PAGES, - (1 << order)); return pcount; eagain: @@ -494,9 +492,6 @@ static void kgsl_pool_free_page(struct page *page) page_order = compound_order(page); - mod_node_page_state(page_pgdat(page), NR_UNRECLAIMABLE_PAGES, - -(1 << page_order)); - if (!kgsl_pool_max_pages || (kgsl_pool_size_total() < kgsl_pool_max_pages)) { pool = _kgsl_get_pool_from_order(page_order); diff --git a/drivers/gpu/msm/kgsl_sharedmem.c b/drivers/gpu/msm/kgsl_sharedmem.c index 6fec82642dcc..ba33934c94d2 100644 --- a/drivers/gpu/msm/kgsl_sharedmem.c +++ b/drivers/gpu/msm/kgsl_sharedmem.c @@ -986,9 +986,6 @@ static void kgsl_contiguous_free(struct kgsl_memdesc *memdesc) atomic_long_sub(memdesc->size, &kgsl_driver.stats.coherent); - mod_node_page_state(page_pgdat(phys_to_page(memdesc->physaddr)), - NR_UNRECLAIMABLE_PAGES, -(memdesc->size >> PAGE_SHIFT)); - _kgsl_contiguous_free(memdesc); } @@ -1186,14 +1183,10 @@ static int kgsl_alloc_contiguous(struct kgsl_device *device, memdesc->ops = &kgsl_contiguous_ops; ret = _kgsl_alloc_contiguous(device->dev->parent, memdesc, size, 0); - if (!ret) { + if (!ret) KGSL_STATS_ADD(size, &kgsl_driver.stats.coherent, &kgsl_driver.stats.coherent_max); - mod_node_page_state(page_pgdat(phys_to_page(memdesc->physaddr)), - NR_UNRECLAIMABLE_PAGES, (size >> PAGE_SHIFT)); - } - return ret; }