Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp6158625iog; Thu, 23 Jun 2022 12:34:36 -0700 (PDT) X-Google-Smtp-Source: AGRyM1stVULmni9OKLXXOd22MVFLSCtg/hnAWV+ukC+8d6tYQ/SHMDaPDt8BJAY6oXwo1M+kU9dy X-Received: by 2002:a05:6a02:28d:b0:408:8cbf:2a0c with SMTP id bk13-20020a056a02028d00b004088cbf2a0cmr8831079pgb.422.1656012876193; Thu, 23 Jun 2022 12:34:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656012876; cv=none; d=google.com; s=arc-20160816; b=rdGqT7b+DjKgXrVs2qmSl8Jysi28W2P5QQV1InmUNEoxePbSU9ONjvLssapdrOtGsU 8MPDdNKyjrZv/Akb56SRCUnEDDUKmF8FVJ8VO/eXJqffao0/WdZxoJ3vc8gVssY8KRiP 2+L8HCS46q12NwswM9ITCk0NDTc4PmyGGxAWQHo4/SbVh1z95w0y0iYgLNB6NNEdAIp/ JdtDE5vr3SmkLanXLLd0rRtPeZjiUUUPUjGVJ1rJaxZlPbDfas5jKaBDznrYyx61/r6J NthsAt9VkaymjkPtUDzfr11d88o0E/uq7NrBhbP1yaOmKoCRgeWruOV8LZvqGsMIBBR5 R5Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:date:from:dkim-signature; bh=e8SDsEUV/+l+yjQBEqPltwU6ofWW2E8uywELya/jeJA=; b=Yf2x3rHQ9qYAyhaH3tvx+uXm12oa9w/f+fqlkUcTYu2/l9GBF57Dj0ESmhVXl54gqN 3F9ggQbX4+E3GA1Lg9967i0LFU/supojPlgjNxgbSd9u9rfboUT35IxWSuApxVlBhI57 Tgn41cbhyjoU5gFG6iXMfvR+yVv3Ssb+43GTPIEqTa8kYLOyIFaZyl9tN9Yd2UAXqli3 jNq9Dr2wTC4RJPKFdzRFEB2HfwyMZMvNqRav1IzvWBGqEOsVhw1ieo57me0K1H6yvLS3 YtaPflEuyPVdjAItoAV0EziclejO0+Z3cnpuC27FO+6f7Y/l9Z/i2zKSIZ+OdiaDtA/g lZRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=mfFyIlUh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o9-20020a170902778900b00158f80642a6si454979pll.109.2022.06.23.12.34.22; Thu, 23 Jun 2022 12:34:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=mfFyIlUh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229462AbiFWTZm (ORCPT + 99 others); Thu, 23 Jun 2022 15:25:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44438 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230358AbiFWTZW (ORCPT ); Thu, 23 Jun 2022 15:25:22 -0400 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7CD98532DD for ; Thu, 23 Jun 2022 11:39:11 -0700 (PDT) Received: by mail-lj1-x235.google.com with SMTP id j22so224911ljg.0 for ; Thu, 23 Jun 2022 11:39:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=e8SDsEUV/+l+yjQBEqPltwU6ofWW2E8uywELya/jeJA=; b=mfFyIlUhcwhxs8N5/fmvOcYpn87xprnkeltTD7hiOU1orbGR9IiHL48IUX6y4Z0h50 OdrDMFRcgkcUf+pb3Hi//elwNZBQU965d0PJtw7vdbzduTOIn7P/iqGJMLh468RO9xs6 P7AcJCe5Xw7aVnDYSNcSTzGNt59fEiLLhiYeXvmnRlNjCnd2JiORTAV0wg2OOvWfKsua PhoSQTZlUmlxvpvqrigaaHpj0Uvsg5+LRFZN+k3jJoWXesno1FSfF1rA2UtiGP0loRkw gS2WbgcMutZjzU9hhtvNljKUKFk1Bf2BMB9pcTd+1pc2BDJ7h7WD+ZFBhkUU+OUCZecN ilVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=e8SDsEUV/+l+yjQBEqPltwU6ofWW2E8uywELya/jeJA=; b=dmSwq36+/yY3BH0ezh+dtjh9tPh48w8bNPVt69Giw5XNXLQKJAueCvakBgwnVvD/cD CAzth43j/ve7+gBmkrOS+vGb9vb+4N1eEggbgiiTKia72s3yXwJpBRy4sQ+m2TiJm/vH NTnpq8+ZHwXR8YG1FieVkDDUeui1Jqxsc+vDSGRzmycvWNT0abOB1u4AEZJjqKwsUmX4 I84AdyO42MyFo2jJ7lq78XYIt2osN+7WiGvycb5MxdSLVLz9zb+xVfYcSaxtAP+Hyo/k rz9B8sT4frwGPWWPZFCcTWCDudQswzLy0AP8zNS/5EoId1/vsTxJ4bPe2WXcZU472Mhb WyFA== X-Gm-Message-State: AJIora/cztl3yb9qCJWE7Zr454gy6TY7o8Llm4dW9D3v4LsBnY2vb47m tX8jrLMZKR+T9hZfdDhc9dpfgOAYSlmDK6sG X-Received: by 2002:a2e:98d5:0:b0:25a:7b9a:6a3 with SMTP id s21-20020a2e98d5000000b0025a7b9a06a3mr5305105ljj.399.1656009549815; Thu, 23 Jun 2022 11:39:09 -0700 (PDT) Received: from pc638.lan ([155.137.26.201]) by smtp.gmail.com with ESMTPSA id a15-20020a056512200f00b0047f8ec3ca4esm964436lfb.87.2022.06.23.11.39.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 11:39:08 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Thu, 23 Jun 2022 20:39:06 +0200 To: Lv qian Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel@nfschina.com Subject: Re: [PATCH] vmalloc:Merge multiple if conditional sentences Message-ID: References: <20220623064527.4238-1-lvqian@nfschina.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220623064527.4238-1-lvqian@nfschina.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > Merge multiple if statements to improve code readability > > Signed-off-by: Lv qian > --- > mm/vmalloc.c | 66 ++++++++++++++-------------------------------------- > 1 file changed, 18 insertions(+), 48 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index effd1ff6a4b4..6902a180f8f7 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -135,22 +135,12 @@ static int vmap_try_huge_pmd(pmd_t *pmd, unsigned long addr, unsigned long end, > phys_addr_t phys_addr, pgprot_t prot, > unsigned int max_page_shift) > { > - if (max_page_shift < PMD_SHIFT) > - return 0; > - > - if (!arch_vmap_pmd_supported(prot)) > - return 0; > - > - if ((end - addr) != PMD_SIZE) > - return 0; > - > - if (!IS_ALIGNED(addr, PMD_SIZE)) > - return 0; > - > - if (!IS_ALIGNED(phys_addr, PMD_SIZE)) > - return 0; > - > - if (pmd_present(*pmd) && !pmd_free_pte_page(pmd, addr)) > + if (max_page_shift < PMD_SHIFT || > + !arch_vmap_pmd_supported(prot) || > + (end - addr) != PMD_SIZE || > + !IS_ALIGNED(addr, PMD_SIZE) || > + !IS_ALIGNED(phys_addr, PMD_SIZE) || > + (pmd_present(*pmd) && !pmd_free_pte_page(pmd, addr))) > return 0; > > return pmd_set_huge(pmd, phys_addr, prot); > @@ -185,22 +175,12 @@ static int vmap_try_huge_pud(pud_t *pud, unsigned long addr, unsigned long end, > phys_addr_t phys_addr, pgprot_t prot, > unsigned int max_page_shift) > { > - if (max_page_shift < PUD_SHIFT) > - return 0; > - > - if (!arch_vmap_pud_supported(prot)) > - return 0; > - > - if ((end - addr) != PUD_SIZE) > - return 0; > - > - if (!IS_ALIGNED(addr, PUD_SIZE)) > - return 0; > - > - if (!IS_ALIGNED(phys_addr, PUD_SIZE)) > - return 0; > - > - if (pud_present(*pud) && !pud_free_pmd_page(pud, addr)) > + if (max_page_shift < PUD_SHIFT || > + !arch_vmap_pud_supported(prot) || > + (end - addr) != PUD_SIZE || > + !IS_ALIGNED(addr, PUD_SIZE) || > + !IS_ALIGNED(phys_addr, PUD_SIZE) || > + (pud_present(*pud) && !pud_free_pmd_page(pud, addr))) > return 0; > > return pud_set_huge(pud, phys_addr, prot); > @@ -236,22 +216,12 @@ static int vmap_try_huge_p4d(p4d_t *p4d, unsigned long addr, unsigned long end, > phys_addr_t phys_addr, pgprot_t prot, > unsigned int max_page_shift) > { > - if (max_page_shift < P4D_SHIFT) > - return 0; > - > - if (!arch_vmap_p4d_supported(prot)) > - return 0; > - > - if ((end - addr) != P4D_SIZE) > - return 0; > - > - if (!IS_ALIGNED(addr, P4D_SIZE)) > - return 0; > - > - if (!IS_ALIGNED(phys_addr, P4D_SIZE)) > - return 0; > - > - if (p4d_present(*p4d) && !p4d_free_pud_page(p4d, addr)) > + if (max_page_shift < P4D_SHIFT || > + !arch_vmap_p4d_supported(prot) || > + (end - addr) != P4D_SIZE || > + !IS_ALIGNED(addr, P4D_SIZE) || > + !IS_ALIGNED(phys_addr, P4D_SIZE) || > + (p4d_present(*p4d) && !p4d_free_pud_page(p4d, addr))) > return 0; > > return p4d_set_huge(p4d, phys_addr, prot); > -- > 2.18.2 > IMO, it is more complicated to understand. -- Uladzsislau Rezki