From owner-svn-src-projects@FreeBSD.ORG Tue Mar 5 11:41:53 2013 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8B5A4CDD; Tue, 5 Mar 2013 11:41:53 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au [211.29.132.53]) by mx1.freebsd.org (Postfix) with ESMTP id 3987B876; Tue, 5 Mar 2013 11:41:52 +0000 (UTC) Received: from c211-30-173-106.carlnfd1.nsw.optusnet.com.au (c211-30-173-106.carlnfd1.nsw.optusnet.com.au [211.30.173.106]) by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id 66486D40DD6; Tue, 5 Mar 2013 22:21:14 +1100 (EST) Date: Tue, 5 Mar 2013 22:21:09 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Gleb Smirnoff Subject: Re: svn commit: r247710 - projects/calloutng/sys/kern In-Reply-To: <20130305094819.GI48089@FreeBSD.org> Message-ID: <20130305214655.C1224@besplex.bde.org> References: <201303031339.r23DdsBU047737@svn.freebsd.org> <201303041521.06557.jhb@freebsd.org> <201303041620.52100.jhb@freebsd.org> <20130305201211.M902@besplex.bde.org> <20130305094819.GI48089@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=DdhPMYRW c=1 sm=1 a=gRR7UNw4rV0A:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=Y4pc3zAY36oA:10 a=K_oTS8gbY3jmMLHMjHUA:9 a=CjuIK1q_8ugA:10 a=TEtd8y5WR3g2ypngnwZWYw==:117 Cc: Davide Italiano , src-committers@FreeBSD.org, John Baldwin , attilio@FreeBSD.org, Bruce Evans , svn-src-projects@FreeBSD.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2013 11:41:53 -0000 On Tue, 5 Mar 2013, Gleb Smirnoff wrote: > On Tue, Mar 05, 2013 at 08:43:33PM +1100, Bruce Evans wrote: > B> > I think for new code we should prefer C99's bool to boolean_t. > B> > B> Why? There is no existing practice for this in the kernel. There is some > B> in the Linux kernel :-). > > Why? Because it is standard. What for? To make it more easy for newcomers > to start hacking on FreeBSD kernel. I think you mean "harder". Now the newcomers need to know: - the old method, which is used in most places - the new method - style rules for old, new and mixed methods - arcane C99 points like whether bool can be used in bit-fields (I had to look this up to check it. It can). I now see technical reasons to never use bool in kernel or other low-level code. It will cause minor pessimizations converting nonzero to true (1) at runtime, and for converting bool to register_t when passing parameters (bool is 1 byte on x86). To use bool in structs (when not packing it into bit-fields), we need to know too much about its size to pack it properly... Bruce