On Mon, Dec 01, 2025 at 03:09:41PM +0000, Anirudh Rayabharam wrote: > On Wed, Nov 26, 2025 at 02:09:11AM +0000, Stanislav Kinsburskii wrote: > > The previous code assumed that if a region's first page was huge, the > > entire region consisted of huge pages and stored this in a large_pages > > flag. This premise is incorrect not only for movable regions (where > > pages can be split and merged on invalidate callbacks or page faults), > > but even for pinned regions: THPs can be split and merged during > > allocation, so a large, pinned region may contain a mix of huge and > > regular pages. > > > > This change removes the large_pages flag and replaces region-wide > > assumptions with per-chunk inspection of the actual page size when > > mapping, unmapping, sharing, and unsharing. This makes huge page > > handling correct for mixed-page regions and avoids relying on stale > > metadata that can easily become invalid as memory is remapped. > > > > Signed-off-by: Stanislav Kinsburskii <[email protected]> > > --- > > drivers/hv/mshv_regions.c | 213 > > +++++++++++++++++++++++++++++++++++++++------ > > drivers/hv/mshv_root.h | 3 - > > 2 files changed, 184 insertions(+), 32 deletions(-) > > Except the warning reported by kernel test robot: >
This one is a good catch. I'll fix it in the next revision. Thanks, Stanislav > Reviewed-by: Anirudh Rayabharam (Microsoft) <[email protected]>
