[RFP] atomic[64]_[read|set] asm implementations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In the fallout from the recent atomic_t volatility discussions, patches have been posted to moot the compiler correctness issues by implementing atomic[64]_[read|set] in inline assembly on powerpc, i386, and x86_64. While I personally don't consider such implementations to be critically necessary, they slightly reduce binary size and greatly reduce lkml controversy, so I like them.

I'm not an inline assembly expert, but I would welcome it if those who are would like to submit implementations of these functions for architectures they're intimately familiar with. I'll pull them into the atomic_t patch set I've stumbled into shepherding, and hopefully we can commit something all at once that makes all architectures consistent, resists compiler bugs, and doesn't piss off too many people.

For architectures whose maintainers aren't worried and whose developers/users aren't bothered enough to submit an inline assembly patch, I'll just keep the inlines with the *(volatile foo *)& casts, unless of course ISO clarifies the C standard to different effect while we're arguing over semantics and micro-optimizations.

	-- Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux