request for review: backport of sx and rwlocks from 7.0 to 6-stable

John Baldwin jhb at freebsd.org
Fri Aug 31 09:09:56 PDT 2007


On Friday 31 August 2007 03:10:48 am Alfred Perlstein wrote:
> Hi guys,
> 
> Some work here at work was approved for sharing with community so
> I'm posting it here in hope of a review.
> 
> We run some pretty good stress testing on our code, so I think it's
> pretty solid.
> 
> My only concern is that I've tried my best to preserve kernel source
> API, but not binary compat though a few simple #defines.

The sleepq and turnstile API/ABIs are internal and aren't used in any modules, 
so there's no need to go through any hoops to preserve them.  The ABI 
of 'struct sx' (it's size) must be maintained however, but your diff didn't 
include any new files so I can't see if you did that.  You can remove all 
your current #define's, etc. for turnstile and sleepq names.

I would leave out the DB_SET() for 'show_sleepq' rather than duplicating the 
function.  Alternatively, you could backport 1.41 of sys/ddb/ddb.h but leave 
DB_SET() as an alias for DB_FUNC() in 6.x and add a DB_SET2() that is like 
DB_SET() in 7 and use DB_SET2() for 'show sleepq'.

-- 
John Baldwin


More information about the freebsd-smp mailing list