Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jun 2015 22:32:44 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        "O'Connor, Daniel" <darius@dons.net.au>
Cc:        Maksim Yevmenkin <maksim.yevmenkin@gmail.com>, Andriy Gapon <avg@freebsd.org>, "current@freebsd.org" <current@freebsd.org>
Subject:   Re: obtaining a minidump from panic() called from NMI handler
Message-ID:  <557C3F0C.70900@freebsd.org>
In-Reply-To: <3FCB93E6-40AA-4673-99F1-14CD145FFFAA@dons.net.au>
References:  <CAFPOs6qsFZKMVzLEDL5X77H6s5LoTjsc4SkMWgR0D_P8RQG4YQ@mail.gmail.com> <557B1905.80307@FreeBSD.org> <CAFPOs6p5yTvdbJXPOKXuagZxj%2Bu-pE3kt5fsCWCpPVj4vktO%2Bg@mail.gmail.com> <557C2D5F.4080005@freebsd.org> <3FCB93E6-40AA-4673-99F1-14CD145FFFAA@dons.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On 6/13/15 10:01 PM, O'Connor, Daniel wrote:
>> On 13 Jun 2015, at 09:17, Julian Elischer <julian@freebsd.org> wrote:
>>
>>>> could it be that more than one CPUs get the NMI at the same time?
>>> i guess, its possible. is there an easy way to check for that?
>> hard code checks in the code so that all except the first do something different.
>> (even only as a debug check).. like write to some location and loop...
> How about just something to the effect of..
> if (curcpu != cpu0)
> 	while (1)
> 		;

well, use 'pause' in the loop to save power. or even halt maybe.. 
(whatever the idle loop uses)
and write something to an array ( stopped_by_nmi[curcpu-index] ) on 
entering the code
so the base processor can see what processors entered it.
(names not correct)
>
> --
> Daniel O'Connor
> "The nice thing about standards is that there
> are so many of them to choose from."
> -- Andrew Tanenbaum
> GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
>
>
>
>




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