Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Oct 2005 15:15:46 +0800
From:      Jia-Shiun Li <jiashiun@gmail.com>
To:        Eischen <deischen@freebsd.org>,  Konstantinos Boukis <konstantinos.boukis@kcl.ac.uk>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: kernel upcall documentation
Message-ID:  <1d6d20bc0510220015h5e0c11f7s@mail.gmail.com>
In-Reply-To: <Pine.GSO.4.43.0510220045350.5149-100000@sea.ntplx.net>
References:  <1129939027.43598053423cb@impmail.kcl.ac.uk> <Pine.GSO.4.43.0510220045350.5149-100000@sea.ntplx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
2005/10/22, Daniel Eischen <deischen@freebsd.org>:
> On Sat, 22 Oct 2005, Konstantinos Boukis wrote:
>
> > I tried not to bombard you with all the information of what I am doing =
but it
> > seems inevitable ;-). I am working on a theoretical research project an=
d the
> > goal is to develop a mobile terminal (e.g. one that changes network
> > continuously) that will be able to adapt to the offered mobility protoc=
ols
> > (i.e. like Mobile IP) offered by the network. In my implementation the =
kernel
> > identifies the offered protocol and installs the appropriate modules.
>
> There are other examples to look at, like devd.  Actually, I don't
> see why you can't just use devd.  From devd(8):
>
>     "Another example would be for devd to use a table to locate and load =
via
>      kldload(8) the proper driver for an unrecognized device that is adde=
d to
>      the system."

the 'upcall' looks more like a Linux way to me, for example the Linux
hotplug mechanism. In general Linux tends not to separate kernel and
userland jobs that clear. It is an example to call userland programs
directly from kernel. One other is the proc fs. Probably because the
kernel (implementers) does not really have much control over user
program so they want to do all jobs themselves.

But just like Daniel said, there are other ways to do the same thing
and make the duties of each parts clear. Kernel sees what happen,
notify and leave the decision of responding action to userland.
Defining interfaces (events in this example) is the key.

Jia-Shiun.



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