On 03/08/20 at 04:10pm, qiwuchen55@xxxxxxxxx wrote: > From: chenqiwu <chenqiwu@xxxxxxxxxx> > > Simplify page_is_buddy() to reduce the redundant code for better > code readability. > > Signed-off-by: chenqiwu <chenqiwu@xxxxxxxxxx> > --- > mm/page_alloc.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 79e950d..c6eef38 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -797,16 +797,8 @@ static inline void set_page_order(struct page *page, unsigned int order) > static inline int page_is_buddy(struct page *page, struct page *buddy, > unsigned int order) > { > - if (page_is_guard(buddy) && page_order(buddy) == order) { > - if (page_zone_id(page) != page_zone_id(buddy)) > - return 0; > - > - VM_BUG_ON_PAGE(page_count(buddy) != 0, buddy); > - > - return 1; > - } This duplicated removing Looks good, not sure if there's any performance impact or other considering. FWIW, Reviewed-by: Baoquan He <bhe@xxxxxxxxxx> > - > - if (PageBuddy(buddy) && page_order(buddy) == order) { > + if ((page_is_guard(buddy) || PageBuddy(buddy)) > + && page_order(buddy) == order) { > /* > * zone check is done late to avoid uselessly > * calculating zone/node ids for pages that could > @@ -819,6 +811,7 @@ static inline int page_is_buddy(struct page *page, struct page *buddy, > > return 1; > } > + > return 0; > } > > -- > 1.9.1 > >