On Wed, Nov 11, 2020 at 11:28:13AM -0700, Shuah Khan wrote: > On 11/11/20 10:50 AM, Peter Zijlstra wrote: > > On Wed, Nov 11, 2020 at 10:34:05AM -0700, Shuah Khan wrote: > > > > > Not sure what to make of the 6080 atomic_read()s and 3413 > > > atomic_inc()s, some of which might be assuming uniqueness > > > guarantee. > > > > Well, clearly you just did: git grep atimic_{read,inc}() | wc -l and > > didn't look at the usage. Equally clearly there can be bugs. Also > > evidently much of those are not in fact sequence numbers. > > > > Looking at the usage and classifying which usages are sequence > numbers is part of may audit and we are covered. Your explanation > and this discussion helps with do a better audit of these usages. Auditing is fine, but I still don't see any point in actually having these wrapping types. It's all a waste of space and compile-time IMO. Neither this sequence counter, nor stat_t or whatever else bring any actual differences. They're pure wrappers without change in semantics. refcount_t is useful because it brought different semantics, it raises exceptions on invalid usage (wraps). But this is just pointless NOPs. So do your audit, but only introduce new types for things that actually have different semantics. If you do a patch and the generated code is 100% identical but you have many more lines of code, you've only made it worse.