On Fri, 2023-12-22 at 18:32 +0200, Oleksii wrote: > > + > > +struct page_info > > +{ > > + /* Each frame can be threaded onto a doubly-linked list. */ > > + struct page_list_entry list; > > + > > + /* Reference count and various PGC_xxx flags and fields. */ > > + unsigned long count_info; > > + > > + /* Context-dependent fields follow... */ > > + union { > > + /* Page is in use: ((count_info & PGC_count_mask) != 0). > > */ > > + struct { > > + /* Type reference count and various PGT_xxx flags and > > fields. */ > > + unsigned long type_info; > > + } inuse; > > + /* Page is on a free list: ((count_info & PGC_count_mask) > > == > > 0). */ > > + union { > > + struct { > > + /* > > + * Index of the first *possibly* unscrubbed page > > in > > the buddy. > > + * One more bit than maximum possible order to > > accommodate > > + * INVALID_DIRTY_IDX. > > + */ > > +#define INVALID_DIRTY_IDX ((1UL << (MAX_ORDER + 1)) - 1) > > + unsigned long first_dirty:MAX_ORDER + 1; > > + > > + /* Do TLBs need flushing for safety before next > > page > > use? */ > > + bool need_tlbflush:1; > > + > > +#define BUDDY_NOT_SCRUBBING 0 > > +#define BUDDY_SCRUBBING 1 > > +#define BUDDY_SCRUB_ABORT 2 > > + unsigned long scrub_state:2; > > + }; > > + > > + unsigned long val; > > + } free; > > + > > + } u; > > + > > + union { > > + /* Page is in use, but not as a shadow. */ > > + struct { > > + /* Owner of this page (zero if page is anonymous). */ > > + struct domain *domain; > > + } inuse; > > + > > + /* Page is on a free list. */ > > + struct { > > + /* Order-size of the free chunk this page is the head > > of. */ > > + unsigned int order; > > + } free; > > + > > + } v; > > + > > + union { > > + /* > > + * Timestamp from 'TLB clock', used to avoid extra safety > > flushes. > > + * Only valid for: a) free pages, and b) pages with zero > > type count > > + */ > > + uint32_t tlbflush_timestamp; > > + }; > > + uint64_t pad; I think it can be removed too. The changes weren't saved. ( Just another one reminder for me ).
Sorry for the convenience. ~ Oleksii >