[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 09/16] tmem: cleanup: drop tmemc_list() temporary
On Wed, Nov 20, 2013 at 04:46:18PM +0800, Bob Liu wrote: > tmemc_list() collects a lot of statistics which are not well defined, > unreadable and most of them are useless. > > This patch drop those mess code and leave TMEMC_LIST subops unimplemented > temporary. Could you mention the title of which patch puts it back? ...and > > Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> > --- > xen/common/tmem.c | 171 > +---------------------------------------------------- > 1 file changed, 2 insertions(+), 169 deletions(-) > > diff --git a/xen/common/tmem.c b/xen/common/tmem.c > index 6afbdbc..48b67bf 100644 > --- a/xen/common/tmem.c > +++ b/xen/common/tmem.c > @@ -29,12 +29,10 @@ > /* global statistics (none need to be locked) */ > static unsigned long total_tmem_ops = 0; > static unsigned long errored_tmem_ops = 0; > -static unsigned long total_flush_pool = 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 low_on_memory = 0; > static unsigned long deduped_puts = 0; > static unsigned long tot_good_eph_puts = 0; > static int global_obj_count_max = 0; > @@ -1980,176 +1978,11 @@ static int tmemc_flush_mem(domid_t cli_id, uint32_t > kb) > return flushed_kb; > } > > -/* > - * These tmemc_list* routines output lots of stats in a format that is > - * intended to be program-parseable, not human-readable. Further, by > - * tying each group of stats to a line format indicator (e.g. G= for > - * global stats) and each individual stat to a two-letter specifier > - * (e.g. Ec:nnnnn in the G= line says there are nnnnn pages in the > - * global ephemeral pool), it should allow the stats reported to be > - * forward and backwards compatible as tmem evolves. > - */ > -#define BSIZE 1024 > - > -static int tmemc_list_client(struct client *c, tmem_cli_va_param_t buf, > - int off, uint32_t len, bool_t use_long) > -{ > - char info[BSIZE]; > - int i, n = 0, sum = 0; > - struct tmem_pool *p; > - bool_t s; > - > - n = scnprintf(info,BSIZE,"C=CI:%d,ww:%d,ca:%d,co:%d,fr:%d," > - "Tc:%"PRIu64",Ge:%ld,Pp:%ld,Gp:%ld%c", > - c->cli_id, c->weight, c->cap, c->compress, c->frozen, > - c->total_cycles, c->succ_eph_gets, c->succ_pers_puts, > c->succ_pers_gets, > - use_long ? ',' : '\n'); > - if (use_long) > - n += scnprintf(info+n,BSIZE-n, > - "Ec:%ld,Em:%ld,cp:%ld,cb:%"PRId64",cn:%ld,cm:%ld\n", > - c->eph_count, c->eph_count_max, > - c->compressed_pages, c->compressed_sum_size, > - c->compress_poor, c->compress_nomem); > - tmem_copy_to_client_buf_offset(buf,off+sum,info,n+1); > - sum += n; > - for ( i = 0; i < MAX_POOLS_PER_DOMAIN; i++ ) > - { > - if ( (p = c->pools[i]) == NULL ) > - continue; > - s = is_shared(p); > - n = scnprintf(info,BSIZE,"P=CI:%d,PI:%d," > - "PT:%c%c,U0:%"PRIx64",U1:%"PRIx64"%c", > - c->cli_id, p->pool_id, > - is_persistent(p) ? 'P' : 'E', s ? 'S' : 'P', > - (uint64_t)(s ? p->uuid[0] : 0), > - (uint64_t)(s ? p->uuid[1] : 0LL), > - use_long ? ',' : '\n'); > - if (use_long) > - n += scnprintf(info+n,BSIZE-n, > - "Pc:%d,Pm:%d,Oc:%ld,Om:%ld,Nc:%lu,Nm:%lu," > - "ps:%lu,pt:%lu,pd:%lu,pr:%lu,px:%lu,gs:%lu,gt:%lu," > - "fs:%lu,ft:%lu,os:%lu,ot:%lu\n", > - _atomic_read(p->pgp_count), p->pgp_count_max, > - p->obj_count, p->obj_count_max, > - p->objnode_count, p->objnode_count_max, > - p->good_puts, p->puts,p->dup_puts_flushed, p->dup_puts_replaced, > - p->no_mem_puts, > - p->found_gets, p->gets, > - p->flushs_found, p->flushs, p->flush_objs_found, p->flush_objs); > - if ( sum + n >= len ) > - return sum; > - tmem_copy_to_client_buf_offset(buf,off+sum,info,n+1); > - sum += n; > - } > - return sum; > -} > - > -static int tmemc_list_shared(tmem_cli_va_param_t buf, int off, uint32_t len, > - bool_t use_long) > -{ > - char info[BSIZE]; > - int i, n = 0, sum = 0; > - struct tmem_pool *p; > - struct share_list *sl; > - > - for ( i = 0; i < MAX_GLOBAL_SHARED_POOLS; i++ ) > - { > - if ( (p = global_shared_pools[i]) == NULL ) > - continue; > - n = > scnprintf(info+n,BSIZE-n,"S=SI:%d,PT:%c%c,U0:%"PRIx64",U1:%"PRIx64, > - i, is_persistent(p) ? 'P' : 'E', > - is_shared(p) ? 'S' : 'P', > - p->uuid[0], p->uuid[1]); > - list_for_each_entry(sl,&p->share_list, share_list) > - n += scnprintf(info+n,BSIZE-n,",SC:%d",sl->client->cli_id); > - n += scnprintf(info+n,BSIZE-n,"%c", use_long ? ',' : '\n'); > - if (use_long) > - n += scnprintf(info+n,BSIZE-n, > - "Pc:%d,Pm:%d,Oc:%ld,Om:%ld,Nc:%lu,Nm:%lu," > - "ps:%lu,pt:%lu,pd:%lu,pr:%lu,px:%lu,gs:%lu,gt:%lu," > - "fs:%lu,ft:%lu,os:%lu,ot:%lu\n", > - _atomic_read(p->pgp_count), p->pgp_count_max, > - p->obj_count, p->obj_count_max, > - p->objnode_count, p->objnode_count_max, > - p->good_puts, p->puts,p->dup_puts_flushed, p->dup_puts_replaced, > - p->no_mem_puts, > - p->found_gets, p->gets, > - p->flushs_found, p->flushs, p->flush_objs_found, p->flush_objs); > - if ( sum + n >= len ) > - return sum; > - tmem_copy_to_client_buf_offset(buf,off+sum,info,n+1); > - sum += n; > - } > - return sum; > -} > - > -static int tmemc_list_global_perf(tmem_cli_va_param_t buf, int off, > - uint32_t len, bool_t use_long) > -{ > - char info[BSIZE]; > - int n = 0, sum = 0; > - > - n = scnprintf(info+n,BSIZE-n,"T="); > - n--; /* overwrite trailing comma */ > - n += scnprintf(info+n,BSIZE-n,"\n"); > - if ( sum + n >= len ) > - return sum; > - tmem_copy_to_client_buf_offset(buf,off+sum,info,n+1); > - sum += n; > - return sum; > -} > - > -static int tmemc_list_global(tmem_cli_va_param_t buf, int off, uint32_t len, > - bool_t use_long) > -{ > - char info[BSIZE]; > - int n = 0, sum = off; > - > - n += scnprintf(info,BSIZE,"G=" > - "Tt:%lu,Te:%lu,Cf:%lu,Af:%lu,Pf:%lu,Ta:%lu," > - "Lm:%lu,Et:%lu,Ea:%lu,Rt:%lu,Ra:%lu,Rx:%lu,Fp:%lu%c", > - total_tmem_ops, errored_tmem_ops, failed_copies, > - alloc_failed, alloc_page_failed, tmem_page_list_pages, > - low_on_memory, evicted_pgs, > - evict_attempts, relinq_pgs, relinq_attempts, max_evicts_per_relinq, > - total_flush_pool, use_long ? ',' : '\n'); > - if (use_long) > - n += scnprintf(info+n,BSIZE-n, > - "Ec:%ld,Em:%ld,Oc:%d,Om:%d,Nc:%d,Nm:%d,Pc:%d,Pm:%d," > - "Fc:%d,Fm:%d,Sc:%d,Sm:%d,Ep:%lu,Gd:%lu,Zt:%lu,Gz:%lu\n", > - global_eph_count, global_eph_count_max, > - _atomic_read(global_obj_count), global_obj_count_max, > - _atomic_read(global_rtree_node_count), global_rtree_node_count_max, > - _atomic_read(global_pgp_count), global_pgp_count_max, > - _atomic_read(global_page_count), global_page_count_max, > - _atomic_read(global_pcd_count), global_pcd_count_max, > - tot_good_eph_puts,deduped_puts,pcd_tot_tze_size,pcd_tot_csize); > - if ( sum + n >= len ) > - return sum; > - tmem_copy_to_client_buf_offset(buf,off+sum,info,n+1); > - sum += n; > - return sum; > -} > - > static int tmemc_list(domid_t cli_id, tmem_cli_va_param_t buf, uint32_t len, > bool_t use_long) > { > - struct client *client; > - int off = 0; > - > - if ( cli_id == TMEM_CLI_ID_NULL ) { > - off = tmemc_list_global(buf,0,len,use_long); > - off += tmemc_list_shared(buf,off,len-off,use_long); > - list_for_each_entry(client,&global_client_list,client_list) > - off += tmemc_list_client(client, buf, off, len-off, use_long); > - off += tmemc_list_global_perf(buf,off,len-off,use_long); > - } > - else if ( (client = tmem_client_from_cli_id(cli_id)) == NULL) > - return -1; > - else > - off = tmemc_list_client(client, buf, 0, len, use_long); > - > - return 0; > + tmem_client_info("tmemc_list is not implemented yet!\n"); > + return -1; -ENOSYS. > } > > static int tmemc_set_var_one(struct client *client, uint32_t subop, uint32_t > arg1) > -- > 1.7.10.4 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |