Messages in this thread | | | Date | Wed, 8 Jul 2020 17:58:13 +0200 | From | "Ahmed S. Darwish" <> | Subject | Re: [PATCH v3 06/20] seqlock: Extend seqcount API with associated locks |
| |
On Wed, Jul 08, 2020 at 05:35:22PM +0200, Peter Zijlstra wrote: ... > > And while the gcc-4.8 code is horrendous crap, the rest should be pretty > straight forward and concentrates on the pieces where there are > differences. >
Is there any possibility of upgrading the minimum gcc version to 4.9? Is there any supported architecture that is still stuck on 4.8?
... > I even considered: > > #define __SEQPROP(name, prop, expr) \ > static __always_inline __seqprop_##prop##_t \ > __seqprop##name##_##prop(seqcount##name##_t *s) \ > { \ > expr; \ > } > > Such that we could write: > > __SEQPROP(, ptr, return s) > __SEQPROP(, preempt, return false) > __SEQPROP(, assert, ) > > __SEQPROP(_##locktype, ptr, return &s->seqcount) \ > __SEQPROP(_##locktype, preempt, return preempt) \ > __SEQPROP(_##locktype, assert, __SEQCOUNT_LOCKDEP(lockdep_assert_held(s->lockmember))) \ > > But I figured _that_ might've been one step too far ;-)
Initially I implemented something like this during internal, pre-upstream, versions of this patch series. We've decided afterwards that the macro compression level is so high that the whole thing is not so easily understandable.
Thanks,
-- Ahmed S. Darwish Linutronix GmbH
| |