Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Sep 2001 21:17:57 -0700 (PDT)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Peter Wemm <peter@wemm.org>
Cc:        Ian Dowse <iedowse@maths.tcd.ie>, Julian Elischer <julian@elischer.org>, hackers@FreeBSD.ORG
Subject:   Re: VM Corruption - stumped, anyone have any ideas? 
Message-ID:  <200109250417.f8P4Hv599043@earth.backplane.com>
References:   <20010925033116.6C2C23808@overcee.netplex.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
:Oh, one other thing...  When we had PCIBIOS active for pci config space
:read/write support, we had stack overflows on many systems when the SSE
:stuff got MFC'ed.  The simple act of trimming about 300 bytes from the
:pcb_save structure was enough to make the difference between it working or
:not.  We are *way* too close to the wire.  I asked about raising UPAGES
:from 2 to 3 before RELENG_4_4 but it never happened.
:
:Julian cleaned up a couple of places stuff where we were allocating 2K of
:local data *twice* on local stack frames.  There are some gcc patches
:floating around that enable you to generate a warning if your local stack
:frame exceedes a certain amount or the arguments are bigger than a
:specified amount.
:
:Cheers,
:-Peter
:--
:Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au

    I'm getting stack underflows with UPAGES set to 2.  I've set UPAGES to 4
    and preinitialized the UAREA to 0x11 and then scan it in exit1() to
    determine how much stack was actually used.  If these numbers are
    correct, we are screwed with UPAGES set to 2.  This is just 4 seconds
    worth of a buildworld.  Note the '3664's showing up.  That's too close.
    note the 3984 that came up after playing with the system for a few 
    seconds!

    I'll post the patch set to use to test this stuff in a moment.

						-Matt

process 323 exit kstackuse 2272
...
process 333 exit kstackuse 2272
process 225 exit kstackuse 3664
process 233 exit kstackuse 2272
...
process 237 exit kstackuse 2272
process 322 exit kstackuse 2676
process 334 exit kstackuse 2272
...
process 319 exit kstackuse 2272

test1# dmesg | fgrep process | sort -n +4 | tail -10
process 6 exit kstackuse 3640
process 89 exit kstackuse 3640
process 176 exit kstackuse 3664
process 186 exit kstackuse 3664
process 225 exit kstackuse 3664
process 290 exit kstackuse 3664
process 299 exit kstackuse 3664
process 300 exit kstackuse 3664
process 303 exit kstackuse 3664
process 138 exit kstackuse 3984


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109250417.f8P4Hv599043>