Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Please read if you use x86 -current

On Wed Nov 12 2008 at 18:54:26 +0000, David Holland wrote:
> On Wed, Nov 12, 2008 at 02:57:08PM +0000, Andrew Doran wrote:
>  > The first component to be moved is POSIX semaphores. The GENERIC kernel no
>  > longer has the P1003_1B_SEMAPHORE option. If POSIX semaphores are used, the
>  > ksem kernel module will be automatically loaded. The same will happen for
>  > compat code and other facilities as time goes by.
> So, what do you do if you want a system entirely without POSIX
> semaphores? It looks as if you have to patch the source to avoid
> building the module.
> This is not particularly important for POSIX semaphores, but there are
> other cases where it does matter to many people, and I think patching
> the source tree is not really the right answer.

Patching the source is definitely not the right answer.  In fact, I
think that even having to compile from sources is not the right answer
for general users.  This is not the 70's, we should be able to just ship
supported "the" binaries that people can happily use.  Developers and
other weird people are their own, limited problem and they can just
support themselves.

>  > The change means that from now on, those running current+GENERIC on the 
> i386
>  > or amd64 ports need up-to-date modules installed. So if you are on 5.99.01,
>  > you need kernel modules built and installed for that version under, say,
>  > /stand/i386/5.99.01/modules. To build and install modules:
>  > 
>  >    cd src/sys/modules
>  >    make
>  >    make install
> I don't think this is all that great an idea either, because it means
> you have to know, every time you build a new kernel, if there's been a
> version bump or not *before* you boot it. Otherwise, you can all too
> easily end up in a situation where you have a broken new kernel and
> have overwritten the modules that correspond to your old kernel...
> which might leave you wedged. Again, probably not with POSIX
> semaphores, but there are plenty of other cases that may matter.

If you really want to be safe, you should most likely build modules
*every* time you rebuild from updated sourcs.  Currently, not nearly all
ABI changes result in a version bump (sadly ... maybe we need a tool to
check for them?).  I remember at least one time losing bad with LKMs,
and I am generally quite careful to update both.

So, I think I like the Linux approach where you can decide in
your config file if you want something as a module or not at all.
Then just integrate module building with kernel building and that's it.
GENERIC has everything on as modules and GARGANTUA has everything built-in
(preferably sharing some config aspects).  Considering that the new-style
modules don't have any code path differences between built-in and module,
I think we can support both.  Although it's a bit of a strech for me,
I'm willing to try to see why people want monolithic gunk - sometimes
it's just more practical (cf. static linking).

Home | Main Index | Thread Index | Old Index