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>