Messages in this thread | | | Date | Fri, 14 Oct 2022 21:40:26 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH v8 6/7] apei/ghes: Use unrcu_pointer for cmpxchg |
| |
On Fri, Oct 14, 2022 at 11:40:39AM +0200, Ard Biesheuvel wrote: > The cache struct pointer should not be published until after the > struct itself is fully populated. So on the producer side, some kind > of hardware barrier is definitely needed, or the struct may appear > half-baked to other cores that can read the updated pointer.
Ah, right you are, ghes_estatus_cached() is called in all kinds of contexts and by other cores, sure.
> OTOH the code seems to be working fine as is, so why modify it at all? > (apart from the purely cosmetic changes)
peterz questioned that smp_wmb() there and then we started digging. And frankly, even if removing that barrier won't make any difference, I'd still prefer it gone and have the code simpler and cleaner.
Thx.
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |