On 5/28/24 02:55, Kirill A. Shutemov wrote: > Keep track of the number of shared pages. This will allow for > cross-checking against the shared information in the direct mapping > and reporting if the shared bit is lost. It's probably also worth mentioning that conversions are slow and relatively rare and even though a global atomic isn't really scalable, it also isn't worth doing anything fancier. > diff --git a/arch/x86/coco/tdx/tdx.c b/arch/x86/coco/tdx/tdx.c > index 26fa47db5782..979891e97d83 100644 > --- a/arch/x86/coco/tdx/tdx.c > +++ b/arch/x86/coco/tdx/tdx.c > @@ -38,6 +38,8 @@ > > #define TDREPORT_SUBTYPE_0 0 > > +static atomic_long_t nr_shared; Doesn't this technically need to be: static atomic_long_t nr_shared = ATOMIC_LONG_INIT(0); ? I thought we had some architectures where the 0 logical value wasn't actually all 0's.