From: Hanjun Guo <hanjun.guo@linaro.org>
To: Robert Richter <robert.richter@caviumnetworks.com>,
Hanjun Guo <guohanjun@huawei.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Will Deacon <will.deacon@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Shannon Zhao <shannon.zhao@linaro.org>,
Steve Capper <steve.capper@linaro.org>,
Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH v3 05/12] arm64, acpi, numa: NUMA support based on SRAT and SLIT
Date: Tue, 2 Feb 2016 19:30:12 +0800 [thread overview]
Message-ID: <56B09344.4000100@linaro.org> (raw)
In-Reply-To: <20160201180944.GV24726@rric.localdomain>
On 2016/2/2 2:09, Robert Richter wrote:
> On 23.01.16 17:39:20, Hanjun Guo wrote:
>
>> @@ -385,10 +386,8 @@ void __init arm64_numa_init(void)
>> {
>> int ret = -ENODEV;
>>
>> -#ifdef CONFIG_OF_NUMA
>> if (!numa_off)
>> - ret = numa_init(arm64_of_numa_init);
>> -#endif
>> + ret = numa_init(acpi_disabled ? arm64_of_numa_init : arm64_acpi_numa_init);
>>
>> if (ret)
>> numa_init(dummy_numa_init);
>
> Ok, this style is mostly flavor, some people want #ifdefs (my
> preference), some not. In any case it must build with or without the
> config option set. But first some words why I like #ifdefs:
>
> * Code is easier to understand as you don't need to look at any other
> location whether it is enabled or not.
>
> * You can't break the build if the options are not set. Thus, you
> also don't need to check if the function is implemented for the
> unset case (valid for the coder and also the reviewer). This makes
> things a lot easier.
>
> * Total number of lines of code that needs to be implement is
> smaller.
>
> However, if we don't ifdef the code, we need empty functions stubs in
> the header file for them.
>
> Also, the conditional assignment does not reduce the complexity of the
> paths. It just concentrates everything in a single line.
>
> How about the following (similar to x86)?
>
> ----
> if (!numa_off) {
> #ifdef CONFIG_ACPI_NUMA
> if (!numa_init(acpi_numa_init))
> return 0;
> #endif
> #ifdef CONFIG_OF_NUMA
> if (!numa_init(of_numa_init))
> return 0;
> #endif
> }
>
> return numa_init(dummy_numa_init);
> ----
>
> Pretty straight and nice.
>
> Note: The !acpi_disabled check needs to be moved to the beginning of
> acpi_numa_init(). Variable ret can be removed.
Lorenzo suggested to remove it, Lorenzo, what's your opinion here?
Thanks
Hanjun
WARNING: multiple messages have this Message-ID (diff)
From: hanjun.guo@linaro.org (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 05/12] arm64, acpi, numa: NUMA support based on SRAT and SLIT
Date: Tue, 2 Feb 2016 19:30:12 +0800 [thread overview]
Message-ID: <56B09344.4000100@linaro.org> (raw)
In-Reply-To: <20160201180944.GV24726@rric.localdomain>
On 2016/2/2 2:09, Robert Richter wrote:
> On 23.01.16 17:39:20, Hanjun Guo wrote:
>
>> @@ -385,10 +386,8 @@ void __init arm64_numa_init(void)
>> {
>> int ret = -ENODEV;
>>
>> -#ifdef CONFIG_OF_NUMA
>> if (!numa_off)
>> - ret = numa_init(arm64_of_numa_init);
>> -#endif
>> + ret = numa_init(acpi_disabled ? arm64_of_numa_init : arm64_acpi_numa_init);
>>
>> if (ret)
>> numa_init(dummy_numa_init);
>
> Ok, this style is mostly flavor, some people want #ifdefs (my
> preference), some not. In any case it must build with or without the
> config option set. But first some words why I like #ifdefs:
>
> * Code is easier to understand as you don't need to look at any other
> location whether it is enabled or not.
>
> * You can't break the build if the options are not set. Thus, you
> also don't need to check if the function is implemented for the
> unset case (valid for the coder and also the reviewer). This makes
> things a lot easier.
>
> * Total number of lines of code that needs to be implement is
> smaller.
>
> However, if we don't ifdef the code, we need empty functions stubs in
> the header file for them.
>
> Also, the conditional assignment does not reduce the complexity of the
> paths. It just concentrates everything in a single line.
>
> How about the following (similar to x86)?
>
> ----
> if (!numa_off) {
> #ifdef CONFIG_ACPI_NUMA
> if (!numa_init(acpi_numa_init))
> return 0;
> #endif
> #ifdef CONFIG_OF_NUMA
> if (!numa_init(of_numa_init))
> return 0;
> #endif
> }
>
> return numa_init(dummy_numa_init);
> ----
>
> Pretty straight and nice.
>
> Note: The !acpi_disabled check needs to be moved to the beginning of
> acpi_numa_init(). Variable ret can be removed.
Lorenzo suggested to remove it, Lorenzo, what's your opinion here?
Thanks
Hanjun
next prev parent reply other threads:[~2016-02-02 11:30 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-23 9:39 [PATCH v3 00/12] ACPI NUMA support for ARM64 Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 01/12] acpi, numa: Use pr_fmt() instead of printk Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 02/12] acpi, numa: Replace ACPI_DEBUG_PRINT() with pr_debug() Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 03/12] acpi, numa: remove duplicate NULL check Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 04/12] acpi, numa: introduce ACPI_HAS_NUMA_ARCH_FIXUP Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 10:25 ` Robert Richter
2016-01-23 10:25 ` Robert Richter
2016-01-23 10:25 ` Robert Richter
2016-01-24 4:56 ` Hanjun Guo
2016-01-24 4:56 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 05/12] arm64, acpi, numa: NUMA support based on SRAT and SLIT Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-25 10:21 ` Robert Richter
2016-01-25 10:21 ` Robert Richter
2016-01-25 10:21 ` Robert Richter
2016-01-27 7:12 ` Hanjun Guo
2016-01-27 7:12 ` Hanjun Guo
2016-01-27 7:12 ` Hanjun Guo
2016-01-27 14:01 ` Robert Richter
2016-01-27 14:01 ` Robert Richter
2016-01-27 14:01 ` Robert Richter
2016-01-28 3:16 ` Hanjun Guo
2016-01-28 3:16 ` Hanjun Guo
2016-01-28 3:16 ` Hanjun Guo
2016-02-01 18:09 ` Robert Richter
2016-02-01 18:09 ` Robert Richter
2016-02-01 18:09 ` Robert Richter
2016-02-02 11:30 ` Hanjun Guo [this message]
2016-02-02 11:30 ` Hanjun Guo
2016-02-02 17:00 ` Lorenzo Pieralisi
2016-02-02 17:00 ` Lorenzo Pieralisi
2016-03-02 14:10 ` Matthias Brugger
2016-03-02 14:10 ` Matthias Brugger
2016-03-02 14:10 ` Matthias Brugger
2016-03-02 14:10 ` Matthias Brugger
2016-03-02 14:08 ` Matthias Brugger
2016-03-02 14:08 ` Matthias Brugger
2016-03-10 9:50 ` Hanjun Guo
2016-03-10 9:50 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 06/12] acpi, numa: Enable ACPI based NUMA on ARM64 Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-29 16:37 ` Robert Richter
2016-01-29 16:37 ` Robert Richter
2016-01-29 16:37 ` Robert Richter
2016-01-23 9:39 ` [PATCH v3 07/12] acpi, numa: move acpi_numa_slit_init() to common place Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 08/12] arm64, numa: rework numa_add_memblk() Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-25 9:34 ` Robert Richter
2016-01-25 9:34 ` Robert Richter
2016-01-25 9:34 ` Robert Richter
2016-01-27 6:20 ` Hanjun Guo
2016-01-27 6:20 ` Hanjun Guo
2016-01-27 6:20 ` Hanjun Guo
2016-03-09 12:27 ` Robert Richter
2016-03-09 12:27 ` Robert Richter
2016-03-09 12:27 ` Robert Richter
2016-03-10 10:10 ` Hanjun Guo
2016-03-10 10:10 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 09/12] x86, acpi, numa: cleanup acpi_numa_processor_affinity_init() Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 10/12] acpi, numa: move bad_srat() and srat_disabled() to common place Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 11/12] acpi, numa: remove unneeded acpi_numa=1 Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` [PATCH v3 12/12] acpi, numa: reuse acpi_numa_memory_affinity_init() Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-23 9:39 ` Hanjun Guo
2016-01-25 10:26 ` Robert Richter
2016-01-25 10:26 ` Robert Richter
2016-01-25 10:26 ` Robert Richter
2016-01-27 6:15 ` Hanjun Guo
2016-01-27 6:15 ` Hanjun Guo
2016-01-27 6:15 ` Hanjun Guo
2016-01-27 14:18 ` Robert Richter
2016-01-27 14:18 ` Robert Richter
2016-01-27 14:18 ` Robert Richter
2016-01-28 2:48 ` Hanjun Guo
2016-01-28 2:48 ` Hanjun Guo
2016-01-28 2:48 ` Hanjun Guo
2016-01-28 13:31 ` Robert Richter
2016-01-28 13:31 ` Robert Richter
2016-01-28 13:31 ` Robert Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B09344.4000100@linaro.org \
--to=hanjun.guo@linaro.org \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=catalin.marinas@arm.com \
--cc=gkulkarni@caviumnetworks.com \
--cc=guohanjun@huawei.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=rjw@rjwysocki.net \
--cc=robert.richter@caviumnetworks.com \
--cc=shannon.zhao@linaro.org \
--cc=steve.capper@linaro.org \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.