Messages in this thread | | | From | Zi Yan <> | Subject | Re: [PATCH 2/6] mm: page_alloc: fix up block types when merging compatible blocks | Date | Mon, 11 Sep 2023 16:01:23 -0400 |
| |
On 11 Sep 2023, at 15:41, Johannes Weiner wrote:
> The buddy allocator coalesces compatible blocks during freeing, but it > doesn't update the types of the subblocks to match. When an allocation > later breaks the chunk down again, its pieces will be put on freelists > of the wrong type. This encourages incompatible page mixing (ask for > one type, get another), and thus long-term fragmentation. > > Update the subblocks when merging a larger chunk, such that a later > expand() will maintain freelist type hygiene. > > v2: > - remove spurious change_pageblock_range() move (Zi Yan) > > Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> > --- > mm/page_alloc.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) >
LGTM. Reviewed-by: Zi Yan <ziy@nvidia.com>
-- Best Regards, Yan, Zi [unhandled content-type:application/pgp-signature] | |