From: Segher Boessenkool > Sent: 14 April 2021 16:19 ... > > Could the kernel use GCC builtin atomic functions instead ? > > > > https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html > > Certainly that should work fine for the simpler cases that the atomic > operations are meant to provide. But esp. for not-so-simple cases the > kernel may require some behaviour provided by the existing assembler > implementation, and not by the atomic builtins. > > I'm not saying this cannot work, just that some serious testing will be > needed. If it works it should be the best of all worlds, so then it is > a really good idea yes :-)
I suspect they just add an extra layer of abstraction that makes it even more difficult to verify and could easily get broken by a compiler update (etc). The other issue is that the code needs to be correct with compiled with (for example) -O0. That could very easily break anything except the asm implementation if additional memory accesses and/or increased code size cause grief. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)