On Mon, Mar 10, 2014 at 6:51 PM, David Miller <da...@davemloft.net> wrote: > From: Alexei Starovoitov <a...@plumgrid.com> > Date: Sun, 9 Mar 2014 23:04:02 -0700 > >> + unsigned int jited:1; > > The C language has a proper type for boolean states, please therefore > use 'bool', true, and false.
No, the C standard actually has no such thing. In a structure, a bitfield is actually better than bool, because it takes only one bit. A "bool" takes at least a byte. Now, in this case it may not be an issue (looks like there are no other uses that can use the better packing, so bit/byte/word is all the same), but I really really want to make it clear that it is not at all true that "bool" is somehow better than a single-bit bitfield. The bitfield can pack *much* better, and I would actually say that it's generally a *better* idea to use a bitfield, because you can much more easily expand on it later by adding other bitfields. There are very few actual real advantages to "bool". The magic casting behavior is arguably an advantage (the implicit cast in assigning to a bitfield truncates to the low bits, the implicit cast on assignment to "bool" does a test against zero), but is also quite arguably a possible source of confusion and can cause problems down the line when converting from bool to a bitfield (for the afore-mentioned packing reasons). So please don't sell "bool" as some kind of panacea. It has at least as many problems as it has advantages. I would generally suggest that people only use "bool" for function return types, and absolutely nothing else. Seriously. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/