From owner-cvs-all Tue Jan 21 17:36:46 2003 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BF2A37B401; Tue, 21 Jan 2003 17:36:44 -0800 (PST) Received: from tesla.distributel.net (nat.MTL.distributel.NET [66.38.181.24]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E89F43ED8; Tue, 21 Jan 2003 17:36:43 -0800 (PST) (envelope-from bmilekic@unixdaemons.com) Received: (from bmilekic@localhost) by tesla.distributel.net (8.11.6/8.11.6) id h0M1bjS74976; Tue, 21 Jan 2003 20:37:45 -0500 (EST) (envelope-from bmilekic@unixdaemons.com) Date: Tue, 21 Jan 2003 20:37:45 -0500 From: Bosko Milekic To: Nate Lawson Cc: Bruce Evans , Alfred Perlstein , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/alpha busdma_machdep.c src/sys/alpha/osf1 imgact_osf1.c osf1_misc.c src/sys/cam cam_periph.c cam_sim.c cam_xpt.c src/sys/cam/scsi scsi_cd.c scsi_ch.c scsi Message-ID: <20030121203745.A74950@unixdaemons.com> References: <20030122100003.K30758-100000@gamplex.bde.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from nate@root.org on Tue, Jan 21, 2003 at 05:29:47PM -0800 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, Jan 21, 2003 at 05:29:47PM -0800, Nate Lawson wrote: > On Wed, 22 Jan 2003, Bruce Evans wrote: > > > On Tue, 21 Jan 2003, Alfred Perlstein wrote: > > > > Log: > > > > Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. > > > > Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT. > > > > Robert Watson wrote: > > > Hmm. I guess I missed the discussion; I'm a bit behind on mailing lists. > > > To improve code portability and careful thinking by developers, what I'd > > > like to see is something more like the following: M_WAITOK, which > > > explicitly requests sleeping indefinitely, M_NOWAIT, which explicitly > > > requests no sleeping. Rather than a "default" value, a > > > > That's exactly what M_WAITOK was supposed to do. Developers just had to > > think about it since it wasn't really a flag so it was not easy to check > > automatically. > > I like Robert's approach -- keep the flags as they were before but give > M_WAITOK a value other than 0 and deprecate passing in 0 as an arg. This > change only would affect binary kld compat and if 0 only generated a > printf warning (one-shot) but still meant M_WAITOK for a little while, > that would ease the migration. > > -Nate The compatibility argument doesn't really carry that much weight 'cause you have to remember that our semantics are actually different from the other BSDs. I can certainly confirm this for the mbuf code. For example, we already have a different name for the "wait" equivalent of the flag (it's M_TRYWAIT not M_WAIT) and, further, calling the allocator function with M_TRYWAIT for us doesn't mean the same thing as calling the allocator function with M_WAIT does on the other BSDs (for the mbuf code, anyway). Furthermore, I think that the other BSDs still actually 'share' the wait and dontwait flags with the between the malloc() and mbuf allocator subsystems (somewhat for historical reasons on which I can elaborate if you think that it's necessary). Clearly, we've already got not only API differences but even more importantly semantics differences with the other BSDs in this area. Fighting to keep the old code for 'compatibility' reasons is therefore kind of pointless. Regards, -- Bosko Milekic * bmilekic@unixdaemons.com * bmilekic@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message