cvs commit: src/sys/geom/eli g_eli.c

Pawel Jakub Dawidek pjd at FreeBSD.org
Wed Jan 31 22:20:41 UTC 2007


On Wed, Jan 31, 2007 at 01:08:14PM -0500, John Baldwin wrote:
> [...] Anyways, maybe this 
> issue will bubble up to someone's todo list at BSDCan to settle how to handle 
> CPU's arriving and departing.  One big thing that worries me is how to handle 
> pinned and bound threads when a CPU goes away.  Also, it may be more useful 
> to think of CPUs not as just present/not present, but more in terms of:
> 
> - not present
> - present but offline
> - present and online
> 
> And most code would really only care about offline/online events.  We could 
> maybe allow pinned and bound threads to still run on an offline CPU (and the 
> idlethread for that CPU of course) but require that there be no pinned bound 
> threads to completely detach a CPU (in the case of systems with removable 
> CPUs).  It would be useful to at least handle taking CPUs offline and then 
> back online though.

As a consumer of such functionality I'd like something like this:

- I'd like to register myself as interested in receiving "CPU-online"
  and "CPU-offline" events. The EVENTHANDLER(9) KPI seems to be ok.
  When my registration is from a kernel module (all CPUs are already
  online), I'd like to still receive a fake CPU-online event for all of
  them.

- When my CPU-online handler is called, I'd like to start my thread from
  there and be sure that CPU won't go offline before I return from the
  handler. It will be nice to be able to specify CPU ID I want to bind
  to in kthread_create(). This would save me from the
  kthread_create-sleep-wakeup dance.

- When someone asks for a CPU to go offline, all CPU-offline handlers
  are called one by one and CPU will work (and stay online) until the
  last handler returns.

- It'll be nice to get an error in return from sched_bind() return if
  CPU is going offline or is already offline.

- Would be nice if there will be no need for the consumers to handle the
  boot CPU somehow specially.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20070131/7d55606d/attachment.pgp


More information about the cvs-src mailing list