From: Robin Murphy <robin.murphy@arm.com>
To: Will Deacon <will@kernel.org>,
"Leizhen (ThunderTown)" <thunder.leizhen@huawei.com>
Cc: iommu <iommu@lists.linux-foundation.org>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 1/1] iommu/arm-smmu-v3: remove unnecessary oom message
Date: Tue, 15 Jun 2021 12:51:38 +0100 [thread overview]
Message-ID: <ab17a9d3-fe8b-dcd8-1a69-81f5604cfe81@arm.com> (raw)
In-Reply-To: <20210615113417.GA20598@willie-the-truck>
On 2021-06-15 12:34, Will Deacon wrote:
> On Tue, Jun 15, 2021 at 07:22:10PM +0800, Leizhen (ThunderTown) wrote:
>>
>>
>> On 2021/6/11 18:32, Will Deacon wrote:
>>> On Wed, Jun 09, 2021 at 08:54:38PM +0800, Zhen Lei wrote:
>>>> Fixes scripts/checkpatch.pl warning:
>>>> WARNING: Possible unnecessary 'out of memory' message
>>>>
>>>> Remove it can help us save a bit of memory.
>>>>
>>>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
>>>> ---
>>>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 8 ++------
>>>> 1 file changed, 2 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
>>>> index 2ddc3cd5a7d1..fd7c55b44881 100644
>>>> --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
>>>> +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
>>>> @@ -2787,10 +2787,8 @@ static int arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu)
>>>> void *strtab = smmu->strtab_cfg.strtab;
>>>>
>>>> cfg->l1_desc = devm_kzalloc(smmu->dev, size, GFP_KERNEL);
>>>> - if (!cfg->l1_desc) {
>>>> - dev_err(smmu->dev, "failed to allocate l1 stream table desc\n");
>>>> + if (!cfg->l1_desc)
>>>
>>> What error do you get if devm_kzalloc() fails? I'd like to make sure it's
>>> easy to track down _which_ allocation failed in that case -- does it give
>>> you a line number, for example?
>>
>> When devm_kzalloc() fails, the OOM information is printed. No line number information, but the
>> size(order) and call stack is printed. It doesn't matter which allocation failed, the failure
>> is caused by insufficient system memory rather than the fault of the SMMU driver. Therefore,
>> the current printing is not helpful for locating the problem of insufficient memory. After all,
>> when memory allocation fails, the SMMU driver cannot work at a lower specification.
>
> I don't entirely agree. Another reason for the failure is because the driver
> might be asking for a huge (or negative) allocation, in which case it might
> be instructive to have a look at the actual caller, particularly if the
> size is derived from hardware or firmware properties.
Agreed - other than deliberately-contrived situations I don't think I've
ever hit a genuine OOM, but I definitely have debugged attempts to
allocate -1 of something. If the driver-specific message actually calls
out the critical information, e.g. "failed to allocate %d stream table
entries", it gives debugging a head start since the miscalculation is
obvious, but a static message that only identifies the callsite really
only saves a quick trip to scripts/faddr2line, and personally I've never
found that particularly valuable.
Robin.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Will Deacon <will@kernel.org>,
"Leizhen (ThunderTown)" <thunder.leizhen@huawei.com>
Cc: linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
Joerg Roedel <joro@8bytes.org>,
iommu <iommu@lists.linux-foundation.org>
Subject: Re: [PATCH 1/1] iommu/arm-smmu-v3: remove unnecessary oom message
Date: Tue, 15 Jun 2021 12:51:38 +0100 [thread overview]
Message-ID: <ab17a9d3-fe8b-dcd8-1a69-81f5604cfe81@arm.com> (raw)
In-Reply-To: <20210615113417.GA20598@willie-the-truck>
On 2021-06-15 12:34, Will Deacon wrote:
> On Tue, Jun 15, 2021 at 07:22:10PM +0800, Leizhen (ThunderTown) wrote:
>>
>>
>> On 2021/6/11 18:32, Will Deacon wrote:
>>> On Wed, Jun 09, 2021 at 08:54:38PM +0800, Zhen Lei wrote:
>>>> Fixes scripts/checkpatch.pl warning:
>>>> WARNING: Possible unnecessary 'out of memory' message
>>>>
>>>> Remove it can help us save a bit of memory.
>>>>
>>>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
>>>> ---
>>>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 8 ++------
>>>> 1 file changed, 2 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
>>>> index 2ddc3cd5a7d1..fd7c55b44881 100644
>>>> --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
>>>> +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
>>>> @@ -2787,10 +2787,8 @@ static int arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu)
>>>> void *strtab = smmu->strtab_cfg.strtab;
>>>>
>>>> cfg->l1_desc = devm_kzalloc(smmu->dev, size, GFP_KERNEL);
>>>> - if (!cfg->l1_desc) {
>>>> - dev_err(smmu->dev, "failed to allocate l1 stream table desc\n");
>>>> + if (!cfg->l1_desc)
>>>
>>> What error do you get if devm_kzalloc() fails? I'd like to make sure it's
>>> easy to track down _which_ allocation failed in that case -- does it give
>>> you a line number, for example?
>>
>> When devm_kzalloc() fails, the OOM information is printed. No line number information, but the
>> size(order) and call stack is printed. It doesn't matter which allocation failed, the failure
>> is caused by insufficient system memory rather than the fault of the SMMU driver. Therefore,
>> the current printing is not helpful for locating the problem of insufficient memory. After all,
>> when memory allocation fails, the SMMU driver cannot work at a lower specification.
>
> I don't entirely agree. Another reason for the failure is because the driver
> might be asking for a huge (or negative) allocation, in which case it might
> be instructive to have a look at the actual caller, particularly if the
> size is derived from hardware or firmware properties.
Agreed - other than deliberately-contrived situations I don't think I've
ever hit a genuine OOM, but I definitely have debugged attempts to
allocate -1 of something. If the driver-specific message actually calls
out the critical information, e.g. "failed to allocate %d stream table
entries", it gives debugging a head start since the miscalculation is
obvious, but a static message that only identifies the callsite really
only saves a quick trip to scripts/faddr2line, and personally I've never
found that particularly valuable.
Robin.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-06-15 11:51 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-09 12:54 [PATCH 1/1] iommu/arm-smmu-v3: remove unnecessary oom message Zhen Lei
2021-06-09 12:54 ` Zhen Lei
2021-06-11 10:32 ` Will Deacon
2021-06-11 10:32 ` Will Deacon
2021-06-15 11:22 ` Leizhen (ThunderTown)
2021-06-15 11:22 ` Leizhen (ThunderTown)
2021-06-15 11:34 ` Will Deacon
2021-06-15 11:34 ` Will Deacon
2021-06-15 11:36 ` Will Deacon
2021-06-15 11:36 ` Will Deacon
2021-06-15 11:51 ` Robin Murphy [this message]
2021-06-15 11:51 ` Robin Murphy
2021-06-15 11:55 ` Will Deacon
2021-06-15 11:55 ` Will Deacon
2021-06-16 1:47 ` Leizhen (ThunderTown)
2021-06-16 1:47 ` Leizhen (ThunderTown)
2021-06-16 10:10 ` Will Deacon
2021-06-16 10:10 ` Will Deacon
2021-06-15 19:18 ` Will Deacon
2021-06-15 19:18 ` Will Deacon
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=ab17a9d3-fe8b-dcd8-1a69-81f5604cfe81@arm.com \
--to=robin.murphy@arm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=thunder.leizhen@huawei.com \
--cc=will@kernel.org \
/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.