Re: [PATCH 2/3] Update name field for all shrinker instances

2016-07-12 Thread Tony Jones
On 07/09/2016 01:52 AM, Janani Ravichandran wrote:

> diff --git a/fs/super.c b/fs/super.c
> index d78b984..051073c 100644
> --- a/fs/super.c
> +++ b/fs/super.c
> @@ -241,6 +241,7 @@ static struct super_block *alloc_super(struct 
> file_system_type *type, int flags)
>   s->s_time_gran = 10;
>   s->cleancache_poolid = CLEANCACHE_NO_POOL;
>  
> + s->s_shrink.name = "super_cache_shrinker";

my patchset made this a little more granular wrt superblock types by including 
type->name




[PATCH 2/3] Update name field for all shrinker instances

2016-07-09 Thread Janani Ravichandran
This patch makes changes to have all instances of struct shrinker update
the newly added name field. This name could then be passed to
tracepoints, which can help identify which shrinker was invoked.

---
 arch/x86/kvm/mmu.c | 1 +
 drivers/gpu/drm/i915/i915_gem_shrinker.c   | 1 +
 drivers/gpu/drm/ttm/ttm_page_alloc.c   | 1 +
 drivers/gpu/drm/ttm/ttm_page_alloc_dma.c   | 1 +
 drivers/md/bcache/btree.c  | 1 +
 drivers/md/dm-bufio.c  | 1 +
 drivers/md/raid5.c | 1 +
 drivers/staging/android/ashmem.c   | 1 +
 drivers/staging/android/ion/ion_heap.c | 1 +
 drivers/staging/android/lowmemorykiller.c  | 1 +
 drivers/staging/lustre/lustre/ldlm/ldlm_pool.c | 1 +
 drivers/staging/lustre/lustre/obdclass/lu_object.c | 1 +
 drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c| 1 +
 fs/ext4/extents_status.c   | 1 +
 fs/f2fs/super.c| 1 +
 fs/gfs2/glock.c| 1 +
 fs/gfs2/quota.c| 1 +
 fs/mbcache.c   | 1 +
 fs/nfs/super.c | 1 +
 fs/nfsd/nfscache.c | 1 +
 fs/quota/dquot.c   | 1 +
 fs/super.c | 1 +
 fs/ubifs/super.c   | 1 +
 fs/xfs/xfs_buf.c   | 1 +
 fs/xfs/xfs_qm.c| 1 +
 mm/huge_memory.c   | 2 ++
 mm/workingset.c| 1 +
 mm/zsmalloc.c  | 1 +
 net/sunrpc/auth.c  | 1 +
 29 files changed, 30 insertions(+)

diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index def97b3..566b800 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -5025,6 +5025,7 @@ mmu_shrink_count(struct shrinker *shrink, struct 
shrink_control *sc)
 }
 
 static struct shrinker mmu_shrinker = {
+   .name = "mmu_shrinker",
.count_objects = mmu_shrink_count,
.scan_objects = mmu_shrink_scan,
.seeks = DEFAULT_SEEKS * 10,
diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c 
b/drivers/gpu/drm/i915/i915_gem_shrinker.c
index 425e721..bb1953d 100644
--- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
+++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
@@ -411,6 +411,7 @@ i915_gem_shrinker_vmap(struct notifier_block *nb, unsigned 
long event, void *ptr
  */
 void i915_gem_shrinker_init(struct drm_i915_private *dev_priv)
 {
+   dev_priv->mm.shrinker.name = "i915_gem_shrinker";
dev_priv->mm.shrinker.scan_objects = i915_gem_shrinker_scan;
dev_priv->mm.shrinker.count_objects = i915_gem_shrinker_count;
dev_priv->mm.shrinker.seeks = DEFAULT_SEEKS;
diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c 
b/drivers/gpu/drm/ttm/ttm_page_alloc.c
index a37de5d..112a0c2 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
@@ -434,6 +434,7 @@ ttm_pool_shrink_count(struct shrinker *shrink, struct 
shrink_control *sc)
 
 static void ttm_pool_mm_shrink_init(struct ttm_pool_manager *manager)
 {
+   manager->mm_shrink.name = "ttm_pool_shrinker";
manager->mm_shrink.count_objects = ttm_pool_shrink_count;
manager->mm_shrink.scan_objects = ttm_pool_shrink_scan;
manager->mm_shrink.seeks = 1;
diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c 
b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
index bef9f6f..4abd37c 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
@@ -1066,6 +1066,7 @@ ttm_dma_pool_shrink_count(struct shrinker *shrink, struct 
shrink_control *sc)
 
 static void ttm_dma_pool_mm_shrink_init(struct ttm_pool_manager *manager)
 {
+   manager->mm_shrink.name = "ttm_dma_pool_shrinker";
manager->mm_shrink.count_objects = ttm_dma_pool_shrink_count;
manager->mm_shrink.scan_objects = &ttm_dma_pool_shrink_scan;
manager->mm_shrink.seeks = 1;
diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
index eab505e..3f89272 100644
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -803,6 +803,7 @@ int bch_btree_cache_alloc(struct cache_set *c)
c->verify_data = NULL;
 #endif
 
+   c->shrink.name = "bch_btree_shrinker";
c->shrink.count_objects = bch_mca_count;
c->shrink.scan_objects = bch_mca_scan;
c->shrink.seeks = 4;
diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index cd77216..ff03854 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -1705,6 +1705,7 @@ struct dm_bufio_client *dm_bufio_client_create(struct 
block_device *bdev, unsign
__cache_size_refresh();
mutex_unlock(&dm_bufio_cli