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!
_______________________________________________
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"

Reply via email to