Got it, Thank you! I think I need to learn more about thp. Thanks Aili Yao -----Original Message----- From: HORIGUCHI NAOYA(堀口 直也) [mailto:naoya.horiguchi@xxxxxxx] Sent: Tuesday, September 8, 2020 5:01 PM To: yaoaili [么爱利] <yaoaili@xxxxxxxxxxxx> Cc: Oscar Salvador <osalvador@xxxxxxx>; yaoaili126@xxxxxxx; linux-mm@xxxxxxxxx; YANGFENG1 [杨峰] <YANGFENG1@xxxxxxxxxxxx>; willy@xxxxxxxxxxxxx Subject: Re: [PATCH] Fix incorrect compound page flags store On Tue, Sep 08, 2020 at 08:48:21AM +0000, yaoaili [么爱利] wrote: > Does the if (PageCompound(p) && compound_head(p) != orig_head) check cover the case you mentioned? This check covers when the page p is included into the compound page with *different* size from thp (for example, included into slab pages or hugepages in other size). If p was originally in a 2MB thp before split and then is now included in another 2MB thp after the page lock, compound_head(p) is equal to orig_head, so it passes over this check. Thanks, Naoya Horiguchi