Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Mar 2018 00:19:10 +0100
From:      Wolfgang Zenker <wolfgang@lyxys.ka.sub.org>
To:        Juli Mallett <juli@northcloak.com>
Cc:        John Baldwin <jhb@freebsd.org>, freebsd-mips@freebsd.org
Subject:   Re: ELF - panic on installworld
Message-ID:  <20180306231910.GA79006@lyxys.ka.sub.org>
In-Reply-To: <CAGSiXYw3m3sPJJb0_Vyr=XWEd4vdu9sypPieqXbqSJJkJ2K6BA@mail.gmail.com>
References:  <20180305211635.GA21623@lyxys.ka.sub.org> <5A9DEE9E.6050906@grosbein.net> <5A9DF0D6.7090306@grosbein.net> <1949943.3JoNfSzP6x@ralph.baldwin.cx> <CAGSiXYw3m3sPJJb0_Vyr=XWEd4vdu9sypPieqXbqSJJkJ2K6BA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Juli Mallett <juli@northcloak.com> [180306 21:14]:
> On 6 March 2018 at 10:29, John Baldwin <jhb@freebsd.org> wrote:
>> On Tuesday, March 06, 2018 08:37:26 AM Eugene Grosbein wrote:
>>> 06.03.2018 8:27, Eugene Grosbein wrote:
>>>> 06.03.2018 4:16, Wolfgang Zenker wrote:

>>>>> I'm trying to run installworld using 11-STABLE on an Ubiquity Edge
>>>>> Router Lite (mips64, 2 cores, 512 MB Ram). Unfortunately I haven't
>>>>> managed to finish the installworld yet, I always get a
>>>>> panic: kernel stack overflow - trapframe at 0xffffffff80917eb0
>>>>> in slightly different places during the installworld. Of the 4 panics
>>>>> I have seen on the serial console, 3 had the trapframe at
>>>>> 0xffffffff80917eb0 and one at 0xffffffff80915eb0
>>>>> /usr/src and /usr/obj are nfs-mounted, and I have configured almost 2 GB
>>>>> of swap. The build was done in a Qemu environment.

>>>>> Any hints how to proceed from here?

>>>> Try increasing kernel stack size from default 2 pages to 4 by rebuilding
>>>> the kernel with options KSTACK_PAGES=4

>>> Note also, that depending on your network configuration, KSTACK_PAGES=4
>>> may or may not be enough. If it does not help, you need to double it
>>> once more.

>> KSTACK_PAGES doesn't work on MIPS because the MIPS kstack has to be
>> hardwired
>> into the TLB and the code that does that assumes a hardcoded stack size.

> That said, we could easily use a more flexible wired TLB entry scheme,
> including smartly using pagemask in the cases where the number of pages is
> suitable.  If we wanted to allow wiring of mappings into the TLB flexibly
> at runtime we could do that, or we could just at compile-time have
> different code to handle different KSTACK_PAGES values.  People have strong
> feelings about some of those options, but if there's a workload-oriented
> pressure to move in a different direction, it should be very easy to do.

I would welcome a more flexible solution, of course. However, I guess my
situation is a bit unusual: the ERL is an unusually powerful machine for
a mips based network device, and therefore I want to experiment with it
trying different options without dismantling the device for every update
to switch in a new usb stick. I think most users just set it up once
and only update in case of security problems. Anyhow, if a more flexible
solution could be done without to much effort, please do it. If I can
help by testing, please let me know.




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