Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Apr 2000 09:03:40 -0700
From:      Jake Burkholder <jburkhol@home.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Boris Popov <bp@butya.kz>, freebsd-current@FreeBSD.ORG
Subject:   Re: SMP changes and breaking kld object module compatibility 
Message-ID:  <20000425160340.AE322BCA7@io.yi.org>
In-Reply-To: Message from Bruce Evans <bde@zeta.org.au>  of "Tue, 25 Apr 2000 18:41:14 %2B1000." <Pine.BSF.4.21.0004251822580.5359-100000@alphplex.bde.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> On Tue, 25 Apr 2000, Boris Popov wrote:
> 
> > 	simple_lock* functions has breakage too. They defined as macros
> > for non-SMP case and as functions for SMP.
> 
> This currently apparently affects the following modules:
> 
>     ccd
>     cd9660
>     msdosfs
>     nfs
>     ntfs
>     nwfs
>     vinum
> 
> All of these functions reference simple_lock() if it is not defined away.
> 
> Bruce

Has anyone thought about using kobj(9) for this?

For example, it should be possible to make simple_lock and lockmgr locks
safe for use from modules by introducing a lock_if.h, which has
abstract version of all the lock routines.  A class would be compiled
with null implementations for UP, or the 'lock'ed implementations for SMP.
The old functions would call through an instance of that class, automagically
finding the right method.  Eventually this could be a runtime abstraction,
with both up and smp classes compiled into the kernel, and objects initialized 
with the right method table at boot time.

I have diffs in the works if anyone is interested.

Jake.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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