From owner-freebsd-hackers Mon Feb 15 19:03:11 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA18006 for freebsd-hackers-outgoing; Mon, 15 Feb 1999 19:03:11 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA18001 for ; Mon, 15 Feb 1999 19:03:09 -0800 (PST) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id SAA12413; Mon, 15 Feb 1999 18:52:38 -0800 (PST) Received: from current1.whistle.com(207.76.205.22) via SMTP by alpo.whistle.com, id smtpdV12408; Tue Feb 16 02:52:29 1999 Date: Mon, 15 Feb 1999 18:52:19 -0800 (PST) From: Julian Elischer To: "John S. Dyson" cc: dillon@apollo.backplane.com, freebsd-hackers@FreeBSD.ORG Subject: Re: inode / exec_map interlock ? (follow up) In-Reply-To: <199902160227.VAA24443@y.dyson.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG John, I've been sitting on the side here for a while. You have both got good points. You have a good point that recoding without significant change is more likely to just introduce bugs and by definition is not going to improve performance. However, just as Matt should heed the suggenstions of those who are senior to him in experience, you should realise that Matt's reasons are not purely for performance. Much of the present code is almost unreadable, and sorely lacking in comments and documentation. I for one am grateful for Matt for doing ht ework of cleaning and commenting. I can follow matt's commented code a lot easier than I could before, and that means that I can now contructively comment and help. I agree that he might do well to involve more people in this, but consider John that you DID resign involvement in this code, and people, while sad to see you go, did take you at your word. If you are coming back to this then you will be welcomed with oepn arms, but you need to realise that some people find it hard sitting on their hands for 2 days waiting for an answer, and that if you are not officially involved then they will be doing so as a courtesy. I for one want you involved in discussing these changes because your experience is invaluable.. however Matt is in the stage in his life at the moment wher he has the energy of 10 raging bulls (hmm I think I'm going overboard here), so you need to make sure that that is harnessed and used constructively. It would be better if you were to take on the role of design adviser to Matt, let him take responsibility for his own decisions and give him ideas of how you would want to see things done.. My opinion is that if you outline to him all the improvements you've been envisioning, and let him do the coding, we will all come out ahead.. you will have time to do what you need to do, Matt will get to learn your experience, and FreeBSD will get well commented and dovumented code, that is readble, and designed by someone that knows what they are doing (you). You are coming across as confronatational (to me anyhow). I know you so I know that you are not being so, but you and matt need to work out a formal arangement. I know Matt is also a very reasonable guy, and since he presently has some time on his hands, I think you should make use of it to all our advantages.. All I'm saying is try work WITH him rather than just shouting "Stop Stop Be Careful!" well, that's enough lecturing to my betters for today.. :-) julian On Mon, 15 Feb 1999, John S. Dyson wrote: > John S. Dyson said: > > > > MAYBE you didn't know, but alot of communication happened behind the scenes > > regarding all of the FreeBSD VM and VFS code. Little such communication > > appears to be happening with you, and when it does, it is often one sided. > > > To follow up on this demi-mess: > I still am asking for better private communications, so that things don't > get out of hand. There are some really interesting things happening on other > fronts also, but with a focused goal of one person, it will exclude perhaps > superior solutions to certain problems. > > I want FreeBSD to succeed, and if you contribute to FreeBSD, I want your > work to succeed. Maybe what several people have been trying to do is to > get cooperation going so this thing doesn't get out of hand. Way-back-when, > FreeBSD was slightly less mission critical, and mistakes were slightly more > tolerable. The competition was just as bad as we were, and standards were > lower. FreeBSD has to be slightly more careful and slightly more structured, > because a decrease in quality will be much more disruptive than any slight > improvement. > > I applaud your *efforts* to improve the code. Work (in a physics sense) isn't > guaranteed by effort though. If there were NO resources to utilize, then > there would be no reason not to utilize them. There are resources available. > > When spearheading an effort, with a narrow and individual project, gaining > interest of other developers will be difficult. If there were no competent > people available to draw information from, then an individual project *might* > be appropriate. FreeBSD isn't in that position though. > > One reason why you might be getting public criticism, is that private criticism > hasn't been heeded. I have been lax in a few areas also, and one area where > I am quite concerned is the recoding (without sufficient redesign) that is > happening. There is mostly little algorithmic change going on, with recoding > and relabeling going on. The swap-pager, on the other hand is an improvement > (IMO), and a better platform to start from than the original code. If there > are design flaws in it, the results of correcting them has a better chance > to be correct than the original code. I claim that restructuring code, without > a *significant* performance improvement is regression. Additionally, the areas > like vm_page_alloc aren't where the CPU goes on a loaded system. To improve > system performance, you have to profile it under various conditions. You must > know that all VM code except for zeroing pages on a loaded system is almost > insignificant in the scheme of things. The place ripe for improvement is > architectural. (There might be some cases where vm_page_alloc or > vm_page_lookup are significant, but it sure sounds like the results of > artificial benchmarking to me :-)). > > The key to getting the respect of co-workers it to work WITH them, as opposed > to doing things to them. Changing code, without significantly changing > functionality is just wrong. For example, if you want to remove the object > page_hint, then remove it. Please don't recode entire routines, especially if > reverting routines to remove things like page_hint changes much of the code > back to the way it originally was. I know for a fact that code existed prior > to the page_hint stuff, but it just not might be committed. > > Both on code that I originated (if you include DG, me and certain other > contributors , we essentially rewrote the VM system, and provided the > performance that FreeBSD has today), and code that has been directly > inherited, we didn't make changes without strong cause. We even resisted > making semi-required formatting changes, because they complicate diffs. > > The ONLY reason for making gratuitious changes is to create a dependency > by alienating other developers who are used to the existing code. That > is (of course) not the conscious desire I am sure. It was my fault for not > participating in the change of vm_page_alloc, and the new code is likely > cleaner, but the disadvantage of disassociating from previous code seems > to totally overwhelm any obvious advantage at this point. > > -- > John | Never try to teach a pig to sing, > dyson@iquest.net | it makes one look stupid > jdyson@nc.com | and it irritates the pig. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message