From mboxrd@z Thu Jan 1 00:00:00 1970 From: Len Brown Subject: Re: stack overflow Date: 09 Mar 2004 23:33:43 -0500 Sender: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Message-ID: <1078893223.2346.585.camel@dhcppc4> References: Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Errors-To: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Stuart_Hayes-DYMqY+WieiM@public.gmane.org Cc: ACPI Developers , Robert Moore , Andi Kleen List-Id: linux-acpi@vger.kernel.org On Mon, 2004-03-08 at 11:43, Stuart_Hayes-DYMqY+WieiM@public.gmane.org wrote: > If I disable local interrupts while the ACPI stuff is being initialized, it > seems to make it through without failing. hmmm, i wonder if the failure happens when ACPI is interrupted, or if there is an issue with some ACPI code running in an interrupt? re: the stack trace I'm sure if Bob gets your DSDT he'll be able to address the recursion issue at hand. More interesting, perhaps, would be adding debugging code to "gracefully" check for this failure. There must be such DEBUG code already built into the kernel someplace. Sorting the list of stack frame sizes below shows acpi_evaluate_integer() is the winner with 320 bytes on the stack. Note that this isn't from passing structures, but from allocating local structures. On i386 acpi_parse_object is 124 bytes, on x86_64 it will be bigger... ./foo #include main() { char name[512]; unsigned long long number; unsigned long long previous = 0; while (EOF != scanf("%s %llx", &name, &number)) { unsigned long long delta; if (previous == 0) previous = number; delta = previous - number; printf("%lld %s\n", delta, name); } } ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click