svn commit: r222060 - in user/avg/xcpu/sys: kern sys

Andriy Gapon avg at FreeBSD.org
Thu May 26 16:31:01 UTC 2011


on 26/05/2011 19:18 mdf at FreeBSD.org said the following:
> On Thu, May 26, 2011 at 9:05 AM, Andriy Gapon <avg at freebsd.org> wrote:
>> on 26/05/2011 18:46 mdf at 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


More information about the svn-src-user mailing list