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>