Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp1492057ybi; Fri, 12 Jul 2019 17:28:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqzBCUZez0iIS3te2Xo4OvJNIoczvK35juEaYMUKA/2ZJgnX60epsIqqZAIu/Fmehi8Rk8ug X-Received: by 2002:a65:534c:: with SMTP id w12mr14279275pgr.51.1562977691162; Fri, 12 Jul 2019 17:28:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562977691; cv=none; d=google.com; s=arc-20160816; b=hRq1kSjoHRWUQjMqcXCBjBWHkv9a6WOWD5CIY0wwVsXbPHmXOvo13O1E7Pd3RsjBRn k0uFFQU5SFB7rUkq3HrbKAcTDQIcMhDaoeJuC4PTZsR97Mbt5JifQQPQZjY5ATOsy12f 47QamzjMDYUYuTsTmVKZEflH4PaEIQA/6r4LpdUsbPPcwLvOMuxMwPUHDR30V2HVv2q8 khyFTzlDpEMP3S0CCxtTkx7bwMyoD4et0Fx5tSe1CBfKOLV9RA++F3wpy+wAtNSTu9ci O4Q5C5qT1seutp8Gs3zWebkd7amem6mzpb/nhyR/ZRoVXcY1jMn3nRRcG/dvOmnyvyy2 +71A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=/b1FhYxov1no8AIqKnTicBtEIZykZHc9EwDW+pUQyt0=; b=m2mNl+oNzuegXfM+NfihFBuQ39M/CZHTFVqUo3F9Moh1EsRRpPAt2OX2Spmblvm/OE Jc0sdvLPFPTuJxhqACJSZXRel8ZKzyCD6saYwpbSDe9UzK+N5Zw/gYW6y5ffeeuy8upW q4ceC6JVBla9D+S08l48c4L9f0joEESp0RFYbWpRq/UTS7ZFrVuqhca47G45UK8YVv+w 02o3vVu1VNVv1l9/+IdQGzqbzJ3ScExIw1PWRsPagkhH5avPBRa8aUHrA5qt+mH5C/mx C43eytGOtu7OPXF+Hli7eayt9p7SOsuw+r5PDwsFHSXWTtolFAoNvmitR/9dWCD+C6Oa R+hQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=cXPQ2Qf1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u16si9748374pjb.15.2019.07.12.17.27.53; Fri, 12 Jul 2019 17:28:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=cXPQ2Qf1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727499AbfGMA1M (ORCPT + 99 others); Fri, 12 Jul 2019 20:27:12 -0400 Received: from mail-qk1-f194.google.com ([209.85.222.194]:44027 "EHLO mail-qk1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727393AbfGMA1M (ORCPT ); Fri, 12 Jul 2019 20:27:12 -0400 Received: by mail-qk1-f194.google.com with SMTP id m14so7752519qka.10 for ; Fri, 12 Jul 2019 17:27:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lca.pw; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/b1FhYxov1no8AIqKnTicBtEIZykZHc9EwDW+pUQyt0=; b=cXPQ2Qf1eeSNA2EGxwYad+zRzfzIhNuRdIqiEzoYXeH2TemMl0NTmLV4X/TQ+izKoW uxAWH5D1ie7TtLCRI/OJNORV/fB/1w+W9N8QZvyRIkuQo0GpNmQv4cpi+js8WQ+7Xu6n zUVOTJbLjqT7MM0zDbvrOIkjplJQnBiAkCB7S2Au16N+gUOkQQmvZ4kQqnze8OJ8qgxp 2NPv/OR+jRLlTLe8mt0pm3LQVzikg7xES8qOgoI0VNTK7sktDMgAN/1Jod6vFjsU5BXh TAFHbvLi0fsN/qSmuk8RGwzCtUyOwBPOSJXKGsSkxkJcnjn38I4IXf9EVPGf1rJxFcaD 0JTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/b1FhYxov1no8AIqKnTicBtEIZykZHc9EwDW+pUQyt0=; b=RgdvDuVe/+ZMiczcpdrw6eUBvsGk8dn/FSikPleYIASePOkOqtEWw/wHV3+CUMZbDX 8Ut5owJXjJeE+p6X+7KulFbEyO4dc8lq0zBVvgK8pRCKBx5OJ27jjcGObg3RGSgZvfi3 kGMSayInJy2cHwJZjrJzfQ4xLmkHVZGzXsbjfp6FWzL8AB7uqlZGKe9yehbvPimi7Q5q QrqGAkER+oDTsajf3zYcGduzUFcJkHn36vXOJ3rrnesKSxnhFauXp2T/0UkCmN6mmHRH vFdD0ENPgZq7ZpWuEuXDjWoikZuXvR7R1nyaNfuk7KXemMJ8yyHmpslNndzrdcYMDcLm vpBA== X-Gm-Message-State: APjAAAWKA32FXlGQkHs7x62dtNP8EjfiEoJ9DBbDr4xOEmkglpBXaVtv pSfRvbUGk6twqdyeZyZED9HQjw== X-Received: by 2002:a37:a692:: with SMTP id p140mr8197020qke.432.1562977631518; Fri, 12 Jul 2019 17:27:11 -0700 (PDT) Received: from [192.168.1.153] (pool-71-184-117-43.bstnma.fios.verizon.net. [71.184.117.43]) by smtp.gmail.com with ESMTPSA id d31sm5467712qta.39.2019.07.12.17.27.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Jul 2019 17:27:10 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: [PATCH] be2net: fix adapter->big_page_size miscaculation From: Qian Cai In-Reply-To: <20190712.154606.493382088615011132.davem@davemloft.net> Date: Fri, 12 Jul 2019 20:27:09 -0400 Cc: sathya.perla@broadcom.com, ajit.khaparde@broadcom.com, sriharsha.basavapatna@broadcom.com, somnath.kotur@broadcom.com, arnd@arndb.de, dhowells@redhat.com, hpa@zytor.com, netdev@vger.kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <1562959401-19815-1-git-send-email-cai@lca.pw> <20190712.154606.493382088615011132.davem@davemloft.net> To: David Miller X-Mailer: Apple Mail (2.3445.104.11) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Jul 12, 2019, at 6:46 PM, David Miller wrote: >=20 > From: Qian Cai > Date: Fri, 12 Jul 2019 15:23:21 -0400 >=20 >> The commit d66acc39c7ce ("bitops: Optimise get_order()") introduced a >> problem for the be2net driver as "rx_frag_size" could be a module >> parameter that can be changed while loading the module. >=20 > Why is this a problem? Well, for example, if rx_frag_size was set to 8096 when loading the = module, the kernel has already used the default value 2048 during = compilation time. >=20 >> That commit checks __builtin_constant_p() first in get_order() which >> cause "adapter->big_page_size" to be assigned a value based on the >> the default "rx_frag_size" value at the compilation time. It also >> generate a compilation warning, >=20 > rx_frag_size is not a constant, therefore the __builtin_constant_p() > test should not pass. >=20 > This explanation doesn't seem valid. Actually, GCC would consider it a const with -O2 optimized level because = it found that it was never modified and it does not understand it is a = module parameter. Considering the following code. # cat const.c=20 #include static int a =3D 1; int main(void) { if (__builtin_constant_p(a)) printf("a is a const.\n"); return 0; } # gcc -O2 const.c -o const # ./const=20 a is a const.=