xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Bob Liu <lliubbo@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: keir@xen.org, ian.campbell@citrix.com, JBeulich@suse.com
Subject: [PATCH 10/16] tmem: cleanup: drop runtime statistics
Date: Wed, 20 Nov 2013 16:46:19 +0800	[thread overview]
Message-ID: <1384937185-24749-10-git-send-email-bob.liu@oracle.com> (raw)
In-Reply-To: <1384937185-24749-1-git-send-email-bob.liu@oracle.com>

They are so many runtime statistics which are unreadable and hard to maintain.
This patch drop them temporary for code cleanup until we have clear define what
runtime statistics are really needed.

Signed-off-by: Bob Liu <bob.liu@oracle.com>
---
 xen/common/tmem.c |  187 ++++-------------------------------------------------
 1 file changed, 13 insertions(+), 174 deletions(-)

diff --git a/xen/common/tmem.c b/xen/common/tmem.c
index 48b67bf..c1b3e21 100644
--- a/xen/common/tmem.c
+++ b/xen/common/tmem.c
@@ -26,27 +26,7 @@
 
 #define TMEM_SPEC_VERSION 1
 
-/* global statistics (none need to be locked) */
-static unsigned long total_tmem_ops = 0;
-static unsigned long errored_tmem_ops = 0;
-static unsigned long alloc_failed = 0, alloc_page_failed = 0;
-static unsigned long evicted_pgs = 0, evict_attempts = 0;
-static unsigned long relinq_pgs = 0, relinq_attempts = 0;
-static unsigned long max_evicts_per_relinq = 0;
-static unsigned long deduped_puts = 0;
-static unsigned long tot_good_eph_puts = 0;
-static int global_obj_count_max = 0;
-static int global_pgp_count_max = 0;
-static int global_pcd_count_max = 0;
-static int global_page_count_max = 0;
-static int global_rtree_node_count_max = 0;
-static long global_eph_count_max = 0;
-static unsigned long failed_copies;
-static unsigned long pcd_tot_tze_size = 0;
-static unsigned long pcd_tot_csize = 0;
-
 /************ CORE DATA STRUCTURES ************************************/
-
 #define MAX_POOLS_PER_DOMAIN 16
 #define MAX_GLOBAL_SHARED_POOLS  16
 
@@ -59,7 +39,7 @@ struct client {
     struct domain *domain;
     struct xmem_pool *persistent_pool;
     struct list_head ephemeral_page_list;
-    long eph_count, eph_count_max;
+    long eph_count;
     domid_t cli_id;
     uint32_t weight;
     uint32_t cap;
@@ -71,12 +51,6 @@ struct client {
     bool_t was_frozen;
     struct list_head persistent_invalidated_list;
     struct tmem_page_descriptor *cur_pgp;
-    /* statistics collection */
-    unsigned long compress_poor, compress_nomem;
-    unsigned long compressed_pages;
-    uint64_t compressed_sum_size;
-    uint64_t total_cycles;
-    unsigned long succ_pers_puts, succ_eph_gets, succ_pers_gets;
     /* shared pool authentication */
     uint64_t shared_auth_uuid[MAX_GLOBAL_SHARED_POOLS][2];
 };
@@ -107,17 +81,6 @@ struct tmem_pool {
     struct tmem_page_descriptor *cur_pgp;
     /* statistics collection */
     atomic_t pgp_count;
-    int pgp_count_max;
-    long obj_count;  /* atomicity depends on pool_rwlock held for write */
-    long obj_count_max;  
-    unsigned long objnode_count, objnode_count_max;
-    uint64_t sum_life_cycles;
-    uint64_t sum_evicted_cycles;
-    unsigned long puts, good_puts, no_mem_puts;
-    unsigned long dup_puts_flushed, dup_puts_replaced;
-    unsigned long gets, found_gets;
-    unsigned long flushs, flushs_found;
-    unsigned long flush_objs, flush_objs_found;
 };
 
 #define is_persistent(_p)  (_p->persistent)
@@ -130,7 +93,6 @@ struct oid {
 struct tmem_object_root {
     struct oid oid;
     struct rb_node rb_tree_node; /* protected by pool->pool_rwlock */
-    unsigned long objnode_count; /* atomicity depends on obj_spinlock */
     long pgp_count; /* atomicity depends on obj_spinlock */
     struct radix_tree_root tree_root; /* tree of pages within object */
     struct tmem_pool *pool;
@@ -196,7 +158,6 @@ struct rb_root pcd_tree_roots[256]; /* choose based on first byte of page */
 rwlock_t pcd_tree_rwlocks[256]; /* poor man's concurrency for now */
 
 static LIST_HEAD(global_ephemeral_page_list); /* all pages in ephemeral pools */
-
 static LIST_HEAD(global_client_list);
 static LIST_HEAD(global_pool_list);
 
@@ -206,7 +167,6 @@ static atomic_t client_weight_total = ATOMIC_INIT(0);
 static int tmem_initialized = 0;
 
 /************ CONCURRENCY  ***********************************************/
-
 DEFINE_SPINLOCK(tmem_spinlock);  /* used iff tmem_lock_all */
 DEFINE_RWLOCK(tmem_rwlock);      /* used iff !tmem_lock_all */
 static DEFINE_SPINLOCK(eph_lists_spinlock); /* protects global AND clients */
@@ -226,23 +186,6 @@ static DEFINE_SPINLOCK(pers_lists_spinlock);
 
 /* global counters (should use long_atomic_t access) */
 static long global_eph_count = 0; /* atomicity depends on eph_lists_spinlock */
-static atomic_t global_obj_count = ATOMIC_INIT(0);
-static atomic_t global_pgp_count = ATOMIC_INIT(0);
-static atomic_t global_pcd_count = ATOMIC_INIT(0);
-static atomic_t global_page_count = ATOMIC_INIT(0);
-static atomic_t global_rtree_node_count = ATOMIC_INIT(0);
-
-#define atomic_inc_and_max(_c) do { \
-    atomic_inc(&_c); \
-    if ( _atomic_read(_c) > _c##_max ) \
-        _c##_max = _atomic_read(_c); \
-} while (0)
-
-#define atomic_dec_and_assert(_c) do { \
-    atomic_dec(&_c); \
-    ASSERT(_atomic_read(_c) >= 0); \
-} while (0)
-
 
 /************ MEMORY ALLOCATION INTERFACE *****************************/
 static void *tmem_malloc(size_t size, struct tmem_pool *pool)
@@ -259,8 +202,6 @@ static void *tmem_malloc(size_t size, struct tmem_pool *pool)
         ASSERT( tmem_mempool != NULL );
         v = xmem_pool_alloc(size, tmem_mempool);
     }
-    if ( v == NULL )
-        alloc_failed++;
     return v;
 }
 
@@ -286,10 +227,6 @@ static struct page_info *tmem_page_alloc(struct tmem_pool *pool)
         pfp = tmem_alloc_page_thispool(pool->client->domain);
     else
         pfp = tmem_alloc_page(pool,0);
-    if ( pfp == NULL )
-        alloc_page_failed++;
-    else
-        atomic_inc_and_max(global_page_count);
     return pfp;
 }
 
@@ -300,7 +237,6 @@ static void tmem_page_free(struct tmem_pool *pool, struct page_info *pfp)
         tmem_free_page(pfp);
     else
         tmem_free_page_thispool(pfp);
-    atomic_dec_and_assert(global_page_count);
 }
 
 /************ PAGE CONTENT DESCRIPTOR MANIPULATION ROUTINES ***********/
@@ -339,7 +275,6 @@ static void pcd_disassociate(struct tmem_page_descriptor *pgp, struct tmem_pool
     pagesize_t pcd_size = pcd->size;
     pagesize_t pgp_size = pgp->size;
     char *pcd_cdata = pgp->pcd->cdata;
-    pagesize_t pcd_csize = pgp->pcd->size;
 
     ASSERT(tmem_dedup_enabled());
     ASSERT(firstbyte != NOT_SHAREABLE);
@@ -368,25 +303,18 @@ static void pcd_disassociate(struct tmem_page_descriptor *pgp, struct tmem_pool
     RB_CLEAR_NODE(&pcd->pcd_rb_tree_node);
     /* now free up the pcd memory */
     tmem_free(pcd, NULL);
-    atomic_dec_and_assert(global_pcd_count);
     if ( pgp_size != 0 && pcd_size < PAGE_SIZE )
     {
         /* compressed data */
         tmem_free(pcd_cdata, pool);
-        pcd_tot_csize -= pcd_csize;
     }
     else if ( pcd_size != PAGE_SIZE )
     {
         /* trailing zero data */
-        pcd_tot_tze_size -= pcd_size;
         if ( pcd_size )
             tmem_free(pcd_tze, pool);
     } else {
         /* real physical page */
-        if ( tmem_tze_enabled() )
-            pcd_tot_tze_size -= PAGE_SIZE;
-        if ( tmem_compression_enabled() )
-            pcd_tot_csize -= PAGE_SIZE;
         tmem_page_free(pool,pfp);
     }
     tmem_write_unlock(&pcd_tree_rwlocks[firstbyte]);
@@ -467,7 +395,6 @@ static int pcd_associate(struct tmem_page_descriptor *pgp, char *cdata, pagesize
             /* but if compressed, data is assumed static so don't free! */
             if ( cdata == NULL )
                 tmem_page_free(pgp->us.obj->pool,pgp->pfp);
-            deduped_puts++;
             goto match;
         }
     }
@@ -485,7 +412,6 @@ static int pcd_associate(struct tmem_page_descriptor *pgp, char *cdata, pagesize
             goto unlock;
         }
     }
-    atomic_inc_and_max(global_pcd_count);
     RB_CLEAR_NODE(&pcd->pcd_rb_tree_node);  /* is this necessary */
     INIT_LIST_HEAD(&pcd->pgp_list);  /* is this necessary */
     pcd->pgp_ref_count = 0;
@@ -493,7 +419,6 @@ static int pcd_associate(struct tmem_page_descriptor *pgp, char *cdata, pagesize
     {
         memcpy(pcd->cdata,cdata,csize);
         pcd->size = csize;
-        pcd_tot_csize += csize;
     } else if ( pfp_size == 0 ) {
         ASSERT(tmem_tze_enabled());
         pcd->size = 0;
@@ -502,15 +427,10 @@ static int pcd_associate(struct tmem_page_descriptor *pgp, char *cdata, pagesize
          ((pcd->tze = tmem_malloc(pfp_size,pgp->us.obj->pool)) != NULL) ) {
         tmem_tze_copy_from_pfp(pcd->tze,pgp->pfp,pfp_size);
         pcd->size = pfp_size;
-        pcd_tot_tze_size += pfp_size;
         tmem_page_free(pgp->us.obj->pool,pgp->pfp);
     } else {
         pcd->pfp = pgp->pfp;
         pcd->size = PAGE_SIZE;
-        if ( tmem_tze_enabled() )
-            pcd_tot_tze_size += PAGE_SIZE;
-        if ( tmem_compression_enabled() )
-            pcd_tot_csize += PAGE_SIZE;
     }
     rb_link_node(&pcd->pcd_rb_tree_node, parent, new);
     rb_insert_color(&pcd->pcd_rb_tree_node, root);
@@ -553,8 +473,7 @@ static struct tmem_page_descriptor *pgp_alloc(struct tmem_object_root *obj)
     pgp->size = -1;
     pgp->index = -1;
     pgp->timestamp = get_cycles();
-    atomic_inc_and_max(global_pgp_count);
-    atomic_inc_and_max(pool->pgp_count);
+    atomic_inc(&pool->pgp_count);
     return pgp;
 }
 
@@ -578,11 +497,6 @@ static void pgp_free_data(struct tmem_page_descriptor *pgp, struct tmem_pool *po
         tmem_free(pgp->cdata, pool);
     else
         tmem_page_free(pgp->us.obj->pool,pgp->pfp);
-    if ( pool != NULL && pgp_size )
-    {
-        pool->client->compressed_pages--;
-        pool->client->compressed_sum_size -= pgp_size;
-    }
     pgp->pfp = NULL;
     pgp->size = -1;
 }
@@ -603,8 +517,7 @@ static void pgp_free(struct tmem_page_descriptor *pgp, int from_delete)
         ASSERT(list_empty(&pgp->us.client_eph_pages));
     }
     pgp_free_data(pgp, pool);
-    atomic_dec_and_assert(global_pgp_count);
-    atomic_dec_and_assert(pool->pgp_count);
+    atomic_dec(&pool->pgp_count);
     pgp->size = -1;
     if ( is_persistent(pool) && pool->client->live_migrating )
     {
@@ -676,7 +589,6 @@ static void pgp_delete(struct tmem_page_descriptor *pgp, bool_t no_eph_lock)
     ASSERT(pgp->us.obj != NULL);
     ASSERT(pgp->us.obj->pool != NULL);
     life = get_cycles() - pgp->timestamp;
-    pgp->us.obj->pool->sum_life_cycles += life;
     pgp_delist(pgp, no_eph_lock);
     pgp_free(pgp,1);
 }
@@ -734,10 +646,6 @@ static struct radix_tree_node *rtn_alloc(void *arg)
         return NULL;
     objnode->obj = obj;
     memset(&objnode->rtn, 0, sizeof(struct radix_tree_node));
-    if (++obj->pool->objnode_count > obj->pool->objnode_count_max)
-        obj->pool->objnode_count_max = obj->pool->objnode_count;
-    atomic_inc_and_max(global_rtree_node_count);
-    obj->objnode_count++;
     return &objnode->rtn;
 }
 
@@ -753,11 +661,8 @@ static void rtn_free(struct radix_tree_node *rtn, void *arg)
     ASSERT_SPINLOCK(&objnode->obj->obj_spinlock);
     pool = objnode->obj->pool;
     ASSERT(pool != NULL);
-    pool->objnode_count--;
-    objnode->obj->objnode_count--;
     objnode->obj = NULL;
     tmem_free(objnode, pool);
-    atomic_dec_and_assert(global_rtree_node_count);
 }
 
 /************ POOL OBJECT COLLECTION MANIPULATION ROUTINES *******************/
@@ -850,15 +755,11 @@ static void obj_free(struct tmem_object_root *obj, int no_rebalance)
     ASSERT_WRITELOCK(&pool->pool_rwlock);
     if ( obj->tree_root.rnode != NULL ) /* may be a "stump" with no leaves */
         radix_tree_destroy(&obj->tree_root, pgp_destroy);
-    ASSERT((long)obj->objnode_count == 0);
     ASSERT(obj->tree_root.rnode == NULL);
-    pool->obj_count--;
-    ASSERT(pool->obj_count >= 0);
     obj->pool = NULL;
     old_oid = obj->oid;
     oid_set_invalid(&obj->oid);
     obj->last_client = TMEM_CLI_ID_NULL;
-    atomic_dec_and_assert(global_obj_count);
     /* use no_rebalance only if all objects are being destroyed anyway */
     if ( !no_rebalance )
         rb_erase(&obj->rb_tree_node,&pool->obj_rb_root[oid_hash(&old_oid)]);
@@ -905,16 +806,11 @@ static struct tmem_object_root * obj_new(struct tmem_pool *pool, struct oid *oid
     ASSERT_WRITELOCK(&pool->pool_rwlock);
     if ( (obj = tmem_malloc(sizeof(struct tmem_object_root), pool)) == NULL )
         return NULL;
-    pool->obj_count++;
-    if (pool->obj_count > pool->obj_count_max)
-        pool->obj_count_max = pool->obj_count;
-    atomic_inc_and_max(global_obj_count);
     radix_tree_init(&obj->tree_root);
     radix_tree_set_alloc_callbacks(&obj->tree_root, rtn_alloc, rtn_free, obj);
     spin_lock_init(&obj->obj_spinlock);
     obj->pool = pool;
     obj->oid = *oidp;
-    obj->objnode_count = 0;
     obj->pgp_count = 0;
     obj->last_client = TMEM_CLI_ID_NULL;
     tmem_spin_lock(&obj->obj_spinlock);
@@ -978,16 +874,9 @@ static struct tmem_pool * pool_alloc(void)
     INIT_LIST_HEAD(&pool->persistent_page_list);
     pool->cur_pgp = NULL;
     rwlock_init(&pool->pool_rwlock);
-    pool->pgp_count_max = pool->obj_count_max = 0;
-    pool->objnode_count = pool->objnode_count_max = 0;
     atomic_set(&pool->pgp_count,0);
-    pool->obj_count = 0; pool->shared_count = 0;
+    pool->shared_count = 0;
     pool->pageshift = PAGE_SHIFT - 12;
-    pool->good_puts = pool->puts = pool->dup_puts_flushed = 0;
-    pool->dup_puts_replaced = pool->no_mem_puts = 0;
-    pool->found_gets = pool->gets = 0;
-    pool->flushs_found = pool->flushs = 0;
-    pool->flush_objs_found = pool->flush_objs = 0;
     pool->is_dying = 0;
     return pool;
 }
@@ -1163,9 +1052,7 @@ static struct client *client_create(domid_t cli_id)
     INIT_LIST_HEAD(&client->ephemeral_page_list);
     INIT_LIST_HEAD(&client->persistent_invalidated_list);
     client->cur_pgp = NULL;
-    client->eph_count = client->eph_count_max = 0;
-    client->total_cycles = 0; client->succ_pers_puts = 0;
-    client->succ_eph_gets = 0; client->succ_pers_gets = 0;
+    client->eph_count = 0;
     tmem_client_info("ok\n");
     return client;
 
@@ -1273,7 +1160,6 @@ static int tmem_evict(void)
     int ret = 0;
     bool_t hold_pool_rwlock = 0;
 
-    evict_attempts++;
     tmem_spin_lock(&eph_lists_spinlock);
     if ( (client != NULL) && client_over_quota(client) &&
          !list_empty(&client->ephemeral_page_list) )
@@ -1318,7 +1204,6 @@ found:
         tmem_spin_unlock(&obj->obj_spinlock);
     if ( hold_pool_rwlock )
         tmem_write_unlock(&pool->pool_rwlock);
-    evicted_pgs++;
     ret = 1;
 
 out:
@@ -1404,8 +1289,6 @@ static int do_tmem_put_compress(struct tmem_page_descriptor *pgp, xen_pfn_t cmfn
         pgp->cdata = p;
     }
     pgp->size = size;
-    pgp->us.obj->pool->client->compressed_pages++;
-    pgp->us.obj->pool->client->compressed_sum_size += size;
     ret = 1;
 
 out:
@@ -1443,7 +1326,7 @@ static int do_tmem_dup_put(struct tmem_page_descriptor *pgp, xen_pfn_t cmfn,
         else if ( ret == -ENOMEM )
             goto failed_dup;
         else if ( ret == -EFAULT )
-            goto bad_copy;
+            goto cleanup;
     }
 
 copy_uncompressed:
@@ -1454,7 +1337,7 @@ copy_uncompressed:
     pgp->size = 0;
     ret = tmem_copy_from_client(pgp->pfp, cmfn, tmem_cli_buf_null);
     if ( ret < 0 )
-        goto bad_copy;
+        goto cleanup;
     if ( tmem_dedup_enabled() && !is_persistent(pool) )
     {
         if ( pcd_associate(pgp,NULL,0) == -ENOMEM )
@@ -1467,16 +1350,8 @@ done:
         obj->last_client = client->cli_id;
     obj->no_evict = 0;
     tmem_spin_unlock(&obj->obj_spinlock);
-    pool->dup_puts_replaced++;
-    pool->good_puts++;
-    if ( is_persistent(pool) )
-        client->succ_pers_puts++;
     return 1;
 
-bad_copy:
-    failed_copies++;
-    goto cleanup;
-
 failed_dup:
    /* couldn't change out the data, flush the old data and return
     * -ENOSPC instead of -ENOMEM to differentiate failed _dup_ put */
@@ -1494,7 +1369,6 @@ cleanup:
         obj->no_evict = 0;
         tmem_spin_unlock(&obj->obj_spinlock);
     }
-    pool->dup_puts_flushed++;
     return ret;
 }
 
@@ -1510,7 +1384,6 @@ static int do_tmem_put(struct tmem_pool *pool,
     ASSERT(pool != NULL);
     client = pool->client;
     ret = client->frozen ? -EFROZEN : -ENOMEM;
-    pool->puts++;
     /* does page already exist (dup)?  if so, handle specially */
     if ( (obj = obj_find(pool,oidp)) != NULL )
     {
@@ -1560,16 +1433,14 @@ static int do_tmem_put(struct tmem_pool *pool,
             goto insert_page;
         if ( ret == -ENOMEM )
         {
-            client->compress_nomem++;
             goto del_pgp_from_obj;
         }
         if ( ret == 0 )
         {
-            client->compress_poor++;
             goto copy_uncompressed;
         }
         if ( ret == -EFAULT )
-            goto bad_copy;
+            goto del_pgp_from_obj;
     }
 
 copy_uncompressed:
@@ -1580,7 +1451,7 @@ copy_uncompressed:
     }
     ret = tmem_copy_from_client(pgp->pfp, cmfn, clibuf);
     if ( ret < 0 )
-        goto bad_copy;
+        goto del_pgp_from_obj;
 
     if ( tmem_dedup_enabled() && !is_persistent(pool) )
     {
@@ -1594,12 +1465,10 @@ insert_page:
         tmem_spin_lock(&eph_lists_spinlock);
         list_add_tail(&pgp->global_eph_pages,
             &global_ephemeral_page_list);
-        if (++global_eph_count > global_eph_count_max)
-            global_eph_count_max = global_eph_count;
+        ++global_eph_count;
         list_add_tail(&pgp->us.client_eph_pages,
             &client->ephemeral_page_list);
-        if (++client->eph_count > client->eph_count_max)
-            client->eph_count_max = client->eph_count;
+        ++client->eph_count;
         tmem_spin_unlock(&eph_lists_spinlock);
     }
     else
@@ -1616,17 +1485,8 @@ insert_page:
 
     /* free the obj spinlock */
     tmem_spin_unlock(&obj->obj_spinlock);
-    pool->good_puts++;
-
-    if ( is_persistent(pool) )
-        client->succ_pers_puts++;
-    else
-        tot_good_eph_puts++;
     return 1;
 
-bad_copy:
-    failed_copies++;
-
 del_pgp_from_obj:
     ASSERT((obj != NULL) && (pgp != NULL) && (pgp->index != -1));
     pgp_delete_from_obj(obj, pgp->index);
@@ -1645,7 +1505,6 @@ unlock_obj:
         obj->no_evict = 0;
         tmem_spin_unlock(&obj->obj_spinlock);
     }
-    pool->no_mem_puts++;
     return ret;
 }
 
@@ -1660,7 +1519,6 @@ static int do_tmem_get(struct tmem_pool *pool, struct oid *oidp, uint32_t index,
     if ( !_atomic_read(pool->pgp_count) )
         return -EEMPTY;
 
-    pool->gets++;
     obj = obj_find(pool,oidp);
     if ( obj == NULL )
         return 0;
@@ -1687,7 +1545,7 @@ static int do_tmem_get(struct tmem_pool *pool, struct oid *oidp, uint32_t index,
     else
         rc = tmem_copy_to_client(cmfn, pgp->pfp, clibuf);
     if ( rc <= 0 )
-        goto bad_copy;
+        goto out;
 
     if ( !is_persistent(pool) )
     {
@@ -1716,17 +1574,11 @@ static int do_tmem_get(struct tmem_pool *pool, struct oid *oidp, uint32_t index,
         obj->no_evict = 0;
         tmem_spin_unlock(&obj->obj_spinlock);
     }
-    pool->found_gets++;
-    if ( is_persistent(pool) )
-        client->succ_pers_gets++;
-    else
-        client->succ_eph_gets++;
     return 1;
 
-bad_copy:
+out:
     obj->no_evict = 0;
     tmem_spin_unlock(&obj->obj_spinlock);
-    failed_copies++;
     return rc;
 }
 
@@ -1735,7 +1587,6 @@ static int do_tmem_flush_page(struct tmem_pool *pool, struct oid *oidp, uint32_t
     struct tmem_object_root *obj;
     struct tmem_page_descriptor *pgp;
 
-    pool->flushs++;
     obj = obj_find(pool,oidp);
     if ( obj == NULL )
         goto out;
@@ -1756,7 +1607,6 @@ static int do_tmem_flush_page(struct tmem_pool *pool, struct oid *oidp, uint32_t
         obj->no_evict = 0;
         tmem_spin_unlock(&obj->obj_spinlock);
     }
-    pool->flushs_found++;
 
 out:
     if ( pool->client->frozen )
@@ -1769,13 +1619,11 @@ static int do_tmem_flush_object(struct tmem_pool *pool, struct oid *oidp)
 {
     struct tmem_object_root *obj;
 
-    pool->flush_objs++;
     obj = obj_find(pool,oidp);
     if ( obj == NULL )
         goto out;
     tmem_write_lock(&pool->pool_rwlock);
     obj_destroy(obj,0);
-    pool->flush_objs_found++;
     tmem_write_unlock(&pool->pool_rwlock);
 
 out:
@@ -2386,8 +2234,6 @@ long do_tmem_op(tmem_cli_op_t uops)
     if ( !tmem_current_permitted() )
         return -EPERM;
 
-    total_tmem_ops++;
-
     if ( tmem_lock_all )
     {
         if ( tmem_lock_all > 1 )
@@ -2402,7 +2248,6 @@ long do_tmem_op(tmem_cli_op_t uops)
         if ( tmem_lock_all )
             goto out;
  simple_error:
-        errored_tmem_ops++;
         return rc;
     }
 
@@ -2512,8 +2357,6 @@ long do_tmem_op(tmem_cli_op_t uops)
     }
 
 out:
-    if ( rc < 0 )
-        errored_tmem_ops++;
     if ( tmem_lock_all )
     {
         if ( tmem_lock_all > 1 )
@@ -2590,7 +2433,6 @@ void *tmem_relinquish_pages(unsigned int order, unsigned int memflags)
     if (!tmem_enabled() || !tmem_freeable_pages())
         return NULL;
 
-    relinq_attempts++;
     if ( order > 0 )
     {
 #ifndef NDEBUG
@@ -2613,13 +2455,10 @@ void *tmem_relinquish_pages(unsigned int order, unsigned int memflags)
             break;
         evicts_per_relinq++;
     }
-    if ( evicts_per_relinq > max_evicts_per_relinq )
-        max_evicts_per_relinq = evicts_per_relinq;
     if ( pfp != NULL )
     {
         if ( !(memflags & MEMF_tmem) )
             scrub_one_page(pfp);
-        relinq_pgs++;
     }
 
     if ( tmem_called_from_tmem(memflags) )
-- 
1.7.10.4

  parent reply	other threads:[~2013-11-20  8:47 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-20  8:46 [PATCH 01/16] tmem: cleanup: drop some debug code Bob Liu
2013-11-20  8:46 ` [PATCH 02/16] tmem: cleanup: drop useless function 'tmem_copy_page' Bob Liu
2013-11-20  8:46 ` [PATCH 03/16] tmem: cleanup: rm unused tmem_op Bob Liu
2013-11-22 17:38   ` Konrad Rzeszutek Wilk
2013-11-25  9:43     ` Jan Beulich
2013-11-25  9:52       ` Ian Campbell
2013-11-25  9:58         ` Jan Beulich
2013-11-25 16:37         ` Konrad Rzeszutek Wilk
2013-11-25 16:40           ` Ian Campbell
2013-11-25 17:09             ` Konrad Rzeszutek Wilk
2013-11-25 17:12               ` Ian Campbell
2013-11-25 19:56                 ` Konrad Rzeszutek Wilk
2013-11-26  8:56                   ` Bob Liu
2013-11-20  8:46 ` [PATCH 04/16] tmem: cleanup: rm unneeded parameters from put path Bob Liu
2013-11-22 17:54   ` Konrad Rzeszutek Wilk
2013-11-26  8:22     ` Bob Liu
2013-11-20  8:46 ` [PATCH 05/16] tmem: cleanup: rm unneeded parameters from get path Bob Liu
2013-11-22 17:55   ` Konrad Rzeszutek Wilk
2013-11-20  8:46 ` [PATCH 06/16] tmem: cleanup: reorg do_tmem_put() Bob Liu
2013-11-22 18:04   ` Konrad Rzeszutek Wilk
2013-11-20  8:46 ` [PATCH 07/16] tmem: drop unneeded is_ephemeral() and is_private() Bob Liu
2013-11-20  8:46 ` [PATCH 08/16] tmem: cleanup: rm useless EXPORT/FORWARD define Bob Liu
2013-11-22 18:05   ` Konrad Rzeszutek Wilk
2013-11-20  8:46 ` [PATCH 09/16] tmem: cleanup: drop tmemc_list() temporary Bob Liu
2013-11-22 18:07   ` Konrad Rzeszutek Wilk
2013-11-26  8:28     ` Bob Liu
2013-11-22 21:00   ` Konrad Rzeszutek Wilk
2013-11-20  8:46 ` Bob Liu [this message]
2013-11-22 18:08   ` [PATCH 10/16] tmem: cleanup: drop runtime statistics Konrad Rzeszutek Wilk
2013-11-20  8:46 ` [PATCH 11/16] tmem: cleanup: drop tmem_lock_all Bob Liu
2013-11-20  8:46 ` [PATCH 12/16] tmem: cleanup: refactor the alloc/free path Bob Liu
2013-11-20  8:46 ` [PATCH 13/16] tmem: cleanup: __tmem_alloc_page: drop unneed parameters Bob Liu
2013-11-22 18:17   ` Konrad Rzeszutek Wilk
2013-11-26  8:41     ` Bob Liu
2013-11-26 17:38       ` Konrad Rzeszutek Wilk
2013-11-20  8:46 ` [PATCH 14/16] tmem: cleanup: drop useless functions from head file Bob Liu
2013-11-27 14:38   ` Andrew Cooper
2013-11-27 14:52     ` Konrad Rzeszutek Wilk
2013-11-27 14:59       ` Andrew Cooper
2013-11-27 15:55         ` Jan Beulich
2013-11-20  8:46 ` [PATCH 15/16] tmem: refator function tmem_ensure_avail_pages() Bob Liu
2013-11-22 18:22   ` Konrad Rzeszutek Wilk
2013-11-20  8:46 ` [PATCH 16/16] tmem: cleanup: rename tmem_relinquish_npages() Bob Liu
2013-11-20  9:08 ` [PATCH 01/16] tmem: cleanup: drop some debug code Jan Beulich
2013-11-20  9:19   ` Bob Liu
2013-11-20  9:25     ` Jan Beulich
2013-11-20 13:51       ` Konrad Rzeszutek Wilk
2013-11-20 14:21         ` Jan Beulich
2013-11-20 18:46           ` Konrad Rzeszutek Wilk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1384937185-24749-10-git-send-email-bob.liu@oracle.com \
    --to=lliubbo@gmail.com \
    --cc=JBeulich@suse.com \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).