Date: Sun, 15 Sep 2002 13:50:10 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: Bruce Evans <bde@zeta.org.au>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern vfs_bio.c src/sys/sys bio.h Message-ID: <200209152050.g8FKoAkl058030@apollo.backplane.com> References: <2714.1032121923@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
Sigh. Obviously Poul you aren't interested in anyone commenting on or critiquing your work. But this is a large shared project, and you are just going to have to live with it. I don't know what your problem is or what the chip on your shoulder is but I don't much care, either. I find your attitude on this list, especially in -committers and -all, for this thread, to be entirely inappropriate and you should be ashamed of yourself. You are acting like a small child amoungst your peers. -Matt :At this point in time, biowait() is used when formatting floppies, :and from inside GEOM for operations only called during GEOMs :discovery phase. : :In all these cases the struct bio has no external references, ie, :no other code even knows it exists, so there is no race condition :to be had. Really. So you are saying that this is non-critical. If this is so non-critical then why the hell are you doing all this junk? Why not simply use a mutex and be done with it? Are you intentionally trying to create a function that is not generally useable or useful? :If the bio magically finishes between when biowait() checks the :BIO_DONE bit, but before we sleep on the pointer, we will simply :take the timeout, find out a little later and move on. Which is the problem. :I repeat: Nobody else can do bad things to the bio, because it is :a totally private bio to the code in question. You have created a general function, biowait(), which you apparently have specialized to only be useful and useable and fairly deterministic in a particular situation. That make no sense, Poul. If you are going to generalize the code then do it right. : :Anyway, I merely moved a common bit of programming into its own :function. Programming which I believe you originally wrote. Is this an excuse then? It was broken before so it is justified to make it broken again? Or to keep it broken? This is the type of code that will come back and bite us in the future. You want everyone to use the new BIO subsystem, great, I think it's a wonderful infrastructure. But then you go off and you create specialized functions that are not generally useful. I've commented about this to Alan too (in his case, all the weird flagging in the VM wiring code). It's not a good idea to create specialized, undocumented code that only one or two people understand how to use. You might be able to work with it but the moment someone else starts to they are going to hit these issues and that is going to create a long term problem for -current. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209152050.g8FKoAkl058030>