Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jan 2007 23:19:44 +0100
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Scott Long <scottl@samsco.org>, src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org, arch@freebsd.org, Nate Lawson <nate@root.org>
Subject:   Re: cvs commit: src/sys/geom/eli g_eli.c
Message-ID:  <20070131221944.GD487@garage.freebsd.pl>
In-Reply-To: <200701311308.16810.jhb@freebsd.org>
References:  <20070128202917.5B67916A5A6@hub.freebsd.org> <200701301636.38175.jhb@freebsd.org> <20070130233238.GB94650@garage.freebsd.pl> <200701311308.16810.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--a2FkP9tdjPU2nyhF
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--a2FkP9tdjPU2nyhF
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

iD8DBQFFwRYAForvXbEpPzQRApUxAJ9VgE0alhpkwP8dhX+0lNF+sZzX4gCeLrZ6
OFTwuTgWVa+ZA2DX1B6HDhE=
=x1C6
-----END PGP SIGNATURE-----

--a2FkP9tdjPU2nyhF--



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