lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 04 Aug 2006 18:20:19 +0200 From: Jes Sorensen <jes@....com> To: Alan Cox <alan@...rguk.ukuu.org.uk> Cc: Jeff Garzik <jeff@...zik.org>, ricknu-0@...dent.ltu.se, linux-kernel@...r.kernel.org, Andrew Morton <akpm@...l.org> Subject: Re: [RFC][PATCH] A generic boolean Alan Cox wrote: > Ar Gwe, 2006-08-04 am 17:58 +0200, ysgrifennodd Jes Sorensen: >>> You don't use bool for talking to hardware, you use it for the most >>> efficient compiler behaviour when working with true/false values. >> Thats the problem, people will start putting them into structs, and >> voila all alignment predictability has gone out the window. > > Jes, try reading as well as writing. Given you even quoted "You don't > use bool for talking to hardware" maybe you should read it. Alan, I did read, I never suggested putting it into structs describing hardware registers. > Structure alignment is generally a bad idea anyway because even array > and word alignment are pretty variable between processors. It's fairly common in drivers to layout things in effective ways in structs relying on alignment. It can make a noticeable difference if you get cacheline alignment wrong. For example in network drivers where parts of the struct is used for receive and the other part is used for transmit and the two parts can run in parallel on different CPUs. Obviously one ends up using the aligned attribute, but the more one can avoid adding those on in the struct the easier it is to maintain and read. Regards, Jes - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists