Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 May 2011 19:30:57 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        mdf@FreeBSD.org
Cc:        Attilio Rao <attilio@FreeBSD.org>, src-committers@FreeBSD.org, Pawel Jakub Dawidek <pjd@FreeBSD.org>, svn-src-user@FreeBSD.org
Subject:   Re: svn commit: r222060 - in user/avg/xcpu/sys: kern sys
Message-ID:  <4DDE8041.7060903@FreeBSD.org>
In-Reply-To: <BANLkTi=X_zddoAbZfXqtuzLut16zCVi%2BTg@mail.gmail.com>
References:  <201105181508.p4IF8UoS096841@svn.freebsd.org>	<20110518182441.GB2273@garage.freebsd.pl>	<4DD4243C.4070301@FreeBSD.org>	<BANLkTikAnB-3XbvDwGHgyqyJquH9BhqzOQ@mail.gmail.com>	<4DDD13F9.5040800@FreeBSD.org>	<4DDE7555.7090500@FreeBSD.org>	<BANLkTim_zEDPANqZTpyYdOKqDaPEc8EhVg@mail.gmail.com>	<4DDE7A36.2050104@FreeBSD.org> <BANLkTi=X_zddoAbZfXqtuzLut16zCVi%2BTg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
on 26/05/2011 19:18 mdf@FreeBSD.org said the following:
> On Thu, May 26, 2011 at 9:05 AM, Andriy Gapon <avg@freebsd.org> wrote:
>> on 26/05/2011 18:46 mdf@FreeBSD.org said the following:
>>> A per-thread flag is needed as long as other CPUs can be running or
>>> even just the scheduler on the remaining CPU.  So I would thing that
>>> flag needs to be checked until the system has been massaged to the
>>> state you describe above.
>>
>> I am not sure that I understand your reasoning if you mean that the flag needs to
>> be checked in TD_IS_INPANIC.  That is, right now there is no TD_IS_INPANIC and
>> things work after panic to a certain degree.  I do not intend to improve that
>> degree and just want to keep an option to revert to the current state of matters.
>> When TD_IS_INPANIC is introduced and stop_cpus_on_panic==1, then there will be
>> only one thread left running after panic, that will be the thread that called
>> panic, checking TDF_INPANIC just doesn't add anything.
> 
> Won't the scheduler still run even if other CPUs are halted?  Is there
> any intent to prevent switching to another thread?  (I suppose this
> could be achieved by setting td_critnest++ and wouldn't require a
> flag).
> 
> It's possible I misunderstood your email so my response may have been
> non-sensical.

No, no, it does make sense.
I haven't mentioned this, but yes, new world order with stop_cpus_on_panic==1
implies disabling interrupts for a panic thread.  I also took it to mean that
there will not be any thread switches, but perhaps I am mistaken here...

In any case my intention is to ensure that only the panic thread runs.

-- 
Andriy Gapon



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