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