Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Dec 2011 18:18:34 +0100
From:      Attilio Rao <attilio@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>, Konstantin Belousov <kib@freebsd.org>
Cc:        freebsd-current@freebsd.org, Andriy Gapon <avg@freebsd.org>
Subject:   Re: Stop scheduler on panic
Message-ID:  <CAJ-FndCBXXGG%2BihS_rVfM5TqcopHABg80U0my9PxguYY8QBD=Q@mail.gmail.com>
In-Reply-To: <4ED8F1C1.7010206@FreeBSD.org>
References:  <20111113083215.GV50300@deviant.kiev.zoral.com.ua> <201112011349.50502.jhb@freebsd.org> <4ED7E6B0.30400@FreeBSD.org> <201112011553.34432.jhb@freebsd.org> <4ED7F4BC.3080206@FreeBSD.org> <4ED855E6.20207@FreeBSD.org> <4ED8A306.9020801@FreeBSD.org> <4ED8F1C1.7010206@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2011/12/2 John Baldwin <jhb@freebsd.org>:
> On 12/2/11 5:05 AM, Andriy Gapon wrote:
>>
>> on 02/12/2011 06:36 John Baldwin said the following:
>>>
>>> Ah, ok (I had thought SCHEDULER_STOPPED was going to always be true whe=
n
>>> kdb was
>>> active). =C2=A0But I think these two changes should cover critical_exit=
() ok.
>>>
>>
>> I attempted to start a discussion about this a few times already :-)
>> Should we treat kdb context the same as SCHEDULER_STOPPED context (in th=
e
>> current definition) ? =C2=A0That is, skip all locks in the same fashion?
>> There are pros and contras.
>
>
> kdb should not block on locks, no. =C2=A0Most debugger commands should no=
t go
> near locks anyway unless they are intended to carefully modify the existi=
ng
> system in a safe manner (such as the 'kill' command which should only be
> using try locks and fail if it cannot safely post the signal).

The biggest problem to KDB as the same as panic is that doing proper
'continue' is impossible.
One of the features of the 'skip-locking' path is that it doesn't take
into account fast locking paths, where sometimes the lock can succeed
and other fails and you don't know about them. Also the restarted CPUs
can find corrupted datas (as they can be arbitrarely updated), I'm
sure it is too much panic prone.

BTW, I'm waiting for the details to settle (including the patch we
have been discussing internally about binding to CPU0 during ACPI
shutdown) before to read the whole thread and start a proper review,
would it be possible to have an almost-final version of the patch?

Attilio


--=20
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-FndCBXXGG%2BihS_rVfM5TqcopHABg80U0my9PxguYY8QBD=Q>