DragonFly kernel List (threaded) for 2003-07
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: why 4.X instead of 5.X
:There is not a misread, but maybe I could have phrased it better. The
:question I asked was why branch off 4.x instead of 5.x, not whether spls
:were a good thing, which we all agree must be gotten rid of. I assumed
:from the beginning that you would use mutexes, and having to redo all that
:huge amount of work, when so much has been done in 5.1, well, that's my
:question.
:
:It just seems to me that we could get to where you want us to go faster if
:we jumped off 5.1 than if we jumped off 4.8.
:
:Is it because of the larger commit rate on 5.1 (harder to track), as has
:been suggested? Is it something intrinsically wrong that you don;t like
:about the 5.1 codebase?
:
:A lot of your suggestions below sound a lot like 5.1's work, don't they?
:..
:Chuck Robey | Interests include C & Java programming, FreeBSD,
:chuckr@xxxxxxxxxx | electronics, communications, and SF/Fantasy.
Well, SPLs are not a major hassle because you can replace them with
critical sections, and in fact that is what I have done in several
places.
5.x is just too heavily mutexed. It would take a very long time to unwind
all the mutexes and I would not be guarenteed a stable system at the end
of that.
I'll give you one example of the problems we would face trying to start
from 5.x... take a good look at the scheduler core in 5.x, then look at
the LWKT scheduler core in DragonFly. Now consider the amount of work
it would have taken to convert the 5.x scheduler core to LWKT.
Eventually SPLs will simply be turned off. One has to be careful in
regards to ensuring the system remains stable. SPLs tell us where we
have interrupt interlocks now and I am not going to blast through and
remove all of those excellent tags! As interrupt subsystems are cleaned
up we will know exactly where the hotspots are in the main code that
need to be cleaned up along with them.
-Matt
Matthew Dillon
<dillon@xxxxxxxxxxxxx>
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]