Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jun 2000 17:34:47 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        current@FreeBSD.ORG
Cc:        Jason Evans <jasone@canonware.com>
Subject:   Re: HEADS UP: Destabilization due to SMP development
Message-ID:  <200006200034.RAA81825@apollo.backplane.com>
References:   <20000619115330.D79318@blitz.canonware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:Summary: -current will be destabilized for an extended period (on the order
:of months).  A tag (not a branch) will be laid down before the initial
:checkin, and non-developers should either stick closely to that tag until
:the kernel stabilizes, or expect large doses of pain.  This tag will be
:laid down as soon as June 26, 00:00 PST, with a minimum 24 hour warning
:beforehand.
:
:---
:
:Last week, approximately 20 BSD developers got together and discussed how
:to move FreeBSD's SMP support to the next level.  Our effort will be
:largely based on the work that has been done in BSD/OS, which should make
:things go much more smoothly than they otherwise might, but we still expect
:-current to be destabilized for an extended period of time.
:
:Matthew Dillon is currently working on the locking primitives, as well as
:some changes to the way our top-level kernel locking works.  His initial
:code will not remove spl()s.  This code will probably be committed as the
:...

    Thank you Jason!

    Ok, I have put up a web page that will track my efforts.

	http://apollo.backplane.com/FreeBSDSmp/

    I got a slow start on the weekend, but I expect to have my piece
    commitable this week sometime.  When I say committable I mean: won't
    crash the system outright but will still probably panic due to legacy
    spl*() issues, which we will fix as we see them.

    I am making good progress.  In many respects it is actually easier to
    get the stuff working on a single-cpu system first since all the MP
    mechanisms must now work on a single-cpu system due to the preemptive
    kernel scheduling, but I expect I will have both single and multi-cpu
    systems working more or less (non-inclusive of interrupt threads, which
    is going to be Greg's baby, but hopefully with all the support Greg
    needs to implement them) in the next few days.

    When I get a little further along I will start making patch sets
    available on the same page.  Probably in the next day or two.

:Device driver maintainers will be able to convert device drivers over a
:period of several months.  We expect to have a compatibility shim in place
:initially, but there will be a hard cutoff date sometime before the release
:of FreeBSD 5.0 where the compatibility shim is removed.  Before getting too
:excited about this part of the conversion to a threaded kernel, please keep
:in mind that 1) there will be plenty of time to do this conversion, 2) the
:conversion is pretty trivial for most drivers, and 3) as we get to the
:stage where the conversion becomes possible, there will be much more detail
:about how to do the conversion, as well as the working examples of the
:first drivers to be converted.

    I believe I found a way to isolate the legacy spl*() stuff without too 
    much interference with the overall design plan (see my document), but
    I will be the second to say that the legacy stuff is ALL going to be
    ripped out for the 5.0 release.

    I would ask that people not commit major changes to the -current sys tree
    until after we lay down the tags and get the new MP core in place.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



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?200006200034.RAA81825>