Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 03 Jun 2012 15:23:26 +0900 (JST)
From:      Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
To:        attilio@freebsd.org
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: preparation for x86/acpica/acpi_wakeup.c
Message-ID:  <20120603.152326.105529138.iwasaki@jp.FreeBSD.org>
In-Reply-To: <CAJ-FndAfm4_XqFSwBqXK=cgWkE6YVrtkS5BbcH7zcRd-100xTw@mail.gmail.com>
References:  <20120603.002554.119853142.iwasaki@jp.FreeBSD.org> <CAJ-FndAfm4_XqFSwBqXK=cgWkE6YVrtkS5BbcH7zcRd-100xTw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi, thanks for your comments.

> I still didn't review your patch in detail, but I think PCB_SUSPENDING
> is not really the way it should be done.
> PCB datas are about the thread state on a particular CPU and the
> suspension of the CPU has not much to do with the thread state. It
> should be more a CPU state itself. This area is very weak in FreeBSD
> right now, however, but I will try to dump my thinking on it right
> now.
> 
> The first thing to consider is that right now we only have 2 states
> for CPUs: started and stopped. These states are controlled by
> started_cpus and stopped_cpus masks respectively. It seems you really
> want to add an intermediate level among the 2 where you have: started
> -> suspended -> started -> suspended ... -> stopped and you need to
> expand the mechanism for dealing with started and stopped cpus to do
> that. I'm pretty sure this will be very helpful also for other
> architectures that want to do the same.

You are right, I'll add new global cpuset suspended_cpus and replace
PCB_SUSPENDING with it.

Thanks!



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