> > Hmm, so a new slot->arch.page_attr array shouldn't be necessary, KVM can 
> > instead
> > update slot->arch.lpage_info on shared<->private conversions.  Detecting 
> > whether
> > a given range is partially mapped could get nasty if KVM defers tracking to 
> > the
> > backing store, but if KVM itself does the tracking as was previously 
> > suggested[*],
> > then updating lpage_info should be relatively straightfoward, e.g. use
> > xa_for_each_range() to see if a given 2mb/1gb range is completely covered 
> > (fully
> > shared) or not covered at all (fully private).
> >
> > [*] https://lore.kernel.org/all/yofezps9yxgtp...@google.com
>
> Yes, slot->arch.page_attr was introduced to help identify whether a page
> is completely shared/private at given level. It seems XARRAY can serve
> the same purpose, though I know nothing about it. Looking forward to
> seeing the patch of using XARRAY.
>
> yes, update slot->arch.lpage_info is good to utilize the existing logic
> and Isaku has applied it to slot->arch.lpage_info for 2MB support patches.

Chao, are you planning to implement these changes to ensure proper
handling of hugepages partially mapped as private/shared in subsequent
versions of this series?
Or is this something left to be handled by the architecture specific code?

Regards,
Vishal

Reply via email to