[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 1/2] xentrace: allow sparse cpu list
Modify the xentrace utility to allow sparse cpu list resulting in not all possible cpus having a trace buffer allocated. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- tools/xentrace/xentrace.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tools/xentrace/xentrace.c b/tools/xentrace/xentrace.c index 364a6fdad5..590a91e091 100644 --- a/tools/xentrace/xentrace.c +++ b/tools/xentrace/xentrace.c @@ -500,12 +500,14 @@ static struct t_struct *map_tbufs(unsigned long tbufs_mfn, unsigned int num, for(i=0; i<num; i++) { - - const uint32_t *mfn_list = (const uint32_t *)tbufs.t_info - + tbufs.t_info->mfn_offset[i]; + const uint32_t *mfn_list; int j; xen_pfn_t pfn_list[tbufs.t_info->tbuf_size]; + if ( !tbufs.t_info->mfn_offset[i] ) + continue; + + mfn_list = (const uint32_t *)tbufs.t_info + tbufs.t_info->mfn_offset[i]; for ( j=0; j<tbufs.t_info->tbuf_size; j++) pfn_list[j] = (xen_pfn_t)mfn_list[j]; @@ -702,7 +704,8 @@ static int monitor_tbufs(void) if ( opts.discard ) for ( i = 0; i < num; i++ ) - meta[i]->cons = meta[i]->prod; + if ( meta[i] ) + meta[i]->cons = meta[i]->prod; /* now, scan buffers for events */ while ( 1 ) @@ -710,7 +713,10 @@ static int monitor_tbufs(void) for ( i = 0; i < num; i++ ) { unsigned long start_offset, end_offset, window_size, cons, prod; - + + if ( !meta[i] ) + continue; + /* Read window information only once. */ cons = meta[i]->cons; prod = meta[i]->prod; -- 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |