[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 03/20] xenctx: Add -n (--display-stack-pages) option to output larger stack
On 04/01/2014 02:19 PM, Ian Campbell wrote: On Thu, 2014-03-27 at 15:05 -0400, Don Slutz wrote:Important: This is the stack size (also known as stack limit) to display not the configured stack size. Note: use with caution (easy to get garbage). Below is a pictures of a configured 3 page stack, and where the SP currently is. Each box is a page. -n 1 -n 2 -n 3 +------------------+ | | | | | | | | SP --> | | * * * +------------------+ | | | | | | | | | | | | | | | | | | | | * | +------------------+ | | | | | | | | | | | | | | | * +------------------+ Display using "-n 3" since the used stack pages is 3.Stacks grow downwards on all of the architectures we support. Perhaps that is why the rest of us find your diagrams so confusing? I drew my example to you the way I did for a reason. Also, should the other end of the *---* line from SP (the bottom in your diagram above) not be aligned to a page boundary, after all -n works in pages.@@ -664,6 +667,8 @@ static int print_stack(vcpu_guest_context_any_t *ctx, int vcpu, int width) stack_limit = ((stack_pointer(ctx) + XC_PAGE_SIZE) & ~((guest_word_t) XC_PAGE_SIZE - 1)); + if ( xenctx.nr_stack_pages > 1 ) + stack_limit += (xenctx.nr_stack_pages - 1) * XC_PAGE_SIZE;The if here is still redundant.printf("\n"); printf("Stack:\n"); for (i=1; i<5 && stack < stack_limit; i++) { @@ -834,18 +839,24 @@ static void usage(void) kernel_start); printf(" -a, --all display more registers\n"); printf(" -C, --all-vcpus print info for all vcpus\n"); + printf(" -n PAGES, --display-stack-pages=PAGES\n"); + printf(" Display N pages from the stack pointer. (default %d)\n", + DEFAULT_NR_STACK_PAGES); + printf(" Changes stack limit. Note: use with caution (easy\n"); + printf(" to get garbage).\n");Doesn't it go without saying that if you go off the bottom of the stack you will get garbage? Only if you know that the tool doesn't know where the end of the stack is. (Although hopefully the wording, "Display N pages" should give you a hint.) But what is "changes stack limit" supposed to mean? -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |