From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 780DEC10F27 for ; Mon, 9 Mar 2020 16:53:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 398FF20828 for ; Mon, 9 Mar 2020 16:53:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="D6eovHvO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 398FF20828 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C01146B0005; Mon, 9 Mar 2020 12:53:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B8A9D6B0006; Mon, 9 Mar 2020 12:53:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A51E96B0007; Mon, 9 Mar 2020 12:53:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0109.hostedemail.com [216.40.44.109]) by kanga.kvack.org (Postfix) with ESMTP id 89C596B0005 for ; Mon, 9 Mar 2020 12:53:21 -0400 (EDT) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 49FA275B0 for ; Mon, 9 Mar 2020 16:53:21 +0000 (UTC) X-FDA: 76576419402.12.lock51_748eaf1dc5c3f X-HE-Tag: lock51_748eaf1dc5c3f X-Filterd-Recvd-Size: 4615 Received: from mail-il1-f193.google.com (mail-il1-f193.google.com [209.85.166.193]) by imf03.hostedemail.com (Postfix) with ESMTP for ; Mon, 9 Mar 2020 16:53:20 +0000 (UTC) Received: by mail-il1-f193.google.com with SMTP id x2so9291141ila.9 for ; Mon, 09 Mar 2020 09:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kWrfoYWVzQIUPXd8z4VAv9Gnyqa+NtyIKagL2rgZzwc=; b=D6eovHvOGQOyMRXFMn+iqM70ed3yUgytt9FFyTExWguJbpnTAAWIotdyZpKKCXSDuj //kGrUGQzIkf6nam5ds5qASY8d+opTlHzKqk1imdeDwvtwo5cqUl/WQqFmePdnBVtwVv xSqI5Q4Vx4rzHy39Nbs91D5USHobVa4XskXXjJIUWiHoPQLoV2PtnKxJ3u1l3vJ1bbwE jBeq+Ce3x/hBT6DNegZ3zE8XFvkFZ2aBpF/jzIuQclOUpDX8ycXLbxnllNMCSf9PM/53 JJ5QW7s6Xc/T7WDShK33SrfQfxeH+9HnCNLNuO81/NCktmEIXAyGdX7nF7/LMgujLm9a B3yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=kWrfoYWVzQIUPXd8z4VAv9Gnyqa+NtyIKagL2rgZzwc=; b=uIHRLpf68czB61CyuUreqNjXevQ5EIlQgFL6DdatJ3amWZRz3ImtEMME9NnOA11Cqq hV8/riq8HPsbKowscE0HWvJKLmbl1t7j5Y1hdv48uSYcPxtrgwAyA7zJzT/ej14A2374 rc3O8MnReWATazQISvzj2luWEQUmHqva1KyDFqR0SK4fUTNsQWOmeVsdnH2Zrj5CU7nw 3QTUqu+aPYFBTqezOU3UEIuq7HIUvuutpCM0kxk1qmbki41do5B4eOkAEFKnUYd8HpeB HfiY7cHyN7aAVElMQRRMQNVFO1zasnPNSD0fohX9lN70Zo3qpORq/zGcrAtW6akOhfbs 0u8g== X-Gm-Message-State: ANhLgQ11r6Rmw+P7NAD2V6ZMNvtdKCMDz077tzlx971N5Z5vNAjwk3au h3VAYf/Ps30IgjsNsVtgiPOi1O6jtkZTN77838Q= X-Google-Smtp-Source: ADFU+vts2c8AdUwh/u4Jhu9kDgQ0znea62LeFjM6cbqw1PkayEe6VnzmA4rhHsCpUcD6HspD+kX/a4kqamYeaU9xLSs= X-Received: by 2002:a05:6e02:4cd:: with SMTP id f13mr16622020ils.237.1583772800016; Mon, 09 Mar 2020 09:53:20 -0700 (PDT) MIME-Version: 1.0 References: <1583655036-5025-1-git-send-email-qiwuchen55@gmail.com> In-Reply-To: <1583655036-5025-1-git-send-email-qiwuchen55@gmail.com> From: Alexander Duyck Date: Mon, 9 Mar 2020 09:53:08 -0700 Message-ID: Subject: Re: [PATCH] mm/page_alloc: simplify page_is_buddy() for better code readability To: qiwuchen55@gmail.com Cc: Andrew Morton , linux-mm , chenqiwu Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sun, Mar 8, 2020 at 12:10 AM wrote: > > From: chenqiwu > > Simplify page_is_buddy() to reduce the redundant code for better > code readability. > > Signed-off-by: chenqiwu > --- > 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; > - } > - > - 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 Instead of keeping the if statement as is couldn't you flatten this out further by just returning 0 if !page_is_guard && !PageBuddy? So something like: if (!page_is_guard(buddy) && !PageBuddy(buddy)) return0; if (page_order(buddy) != order) return 0; I feel like this would be more readable than sorting out the parenthesis for the conditional statement. Then you can also just get rid of the indenting and braces for the rest of the statement. With that it would more closely match the description above as well as you are going through and checking a - d as separate tests.